fixes for bugs found by make_single_applets.sh
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -1513,8 +1513,11 @@ int inetd_main(int argc UNUSED_PARAM, char **argv)
|
||||
} /* for (;;) */
|
||||
}
|
||||
|
||||
#if !BB_MMU
|
||||
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO \
|
||||
|| ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
|
||||
# if !BB_MMU
|
||||
static const char *const cat_args[] = { "cat", NULL };
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -1525,14 +1528,14 @@ static const char *const cat_args[] = { "cat", NULL };
|
||||
/* ARGSUSED */
|
||||
static void FAST_FUNC echo_stream(int s, servtab_t *sep UNUSED_PARAM)
|
||||
{
|
||||
#if BB_MMU
|
||||
# if BB_MMU
|
||||
while (1) {
|
||||
ssize_t sz = safe_read(s, line, LINE_SIZE);
|
||||
if (sz <= 0)
|
||||
break;
|
||||
xwrite(s, line, sz);
|
||||
}
|
||||
#else
|
||||
# else
|
||||
/* We are after vfork here! */
|
||||
/* move network socket to stdin/stdout */
|
||||
xmove_fd(s, STDIN_FILENO);
|
||||
@@ -1542,7 +1545,7 @@ static void FAST_FUNC echo_stream(int s, servtab_t *sep UNUSED_PARAM)
|
||||
xopen(bb_dev_null, O_WRONLY);
|
||||
BB_EXECVP("cat", (char**)cat_args);
|
||||
/* on failure we return to main, which does exit(EXIT_FAILURE) */
|
||||
#endif
|
||||
# endif
|
||||
}
|
||||
static void FAST_FUNC echo_dg(int s, servtab_t *sep)
|
||||
{
|
||||
@@ -1566,10 +1569,10 @@ static void FAST_FUNC echo_dg(int s, servtab_t *sep)
|
||||
/* ARGSUSED */
|
||||
static void FAST_FUNC discard_stream(int s, servtab_t *sep UNUSED_PARAM)
|
||||
{
|
||||
#if BB_MMU
|
||||
# if BB_MMU
|
||||
while (safe_read(s, line, LINE_SIZE) > 0)
|
||||
continue;
|
||||
#else
|
||||
# else
|
||||
/* We are after vfork here! */
|
||||
/* move network socket to stdin */
|
||||
xmove_fd(s, STDIN_FILENO);
|
||||
@@ -1580,7 +1583,7 @@ static void FAST_FUNC discard_stream(int s, servtab_t *sep UNUSED_PARAM)
|
||||
xdup2(STDOUT_FILENO, STDERR_FILENO);
|
||||
BB_EXECVP("cat", (char**)cat_args);
|
||||
/* on failure we return to main, which does exit(EXIT_FAILURE) */
|
||||
#endif
|
||||
# endif
|
||||
}
|
||||
/* ARGSUSED */
|
||||
static void FAST_FUNC discard_dg(int s, servtab_t *sep UNUSED_PARAM)
|
||||
|
Reference in New Issue
Block a user