remove echo_main -> bb_echo indirection
authorDenis Vlasenko <vda.linux@googlemail.com>
Sat, 24 Nov 2007 02:23:51 +0000 (02:23 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sat, 24 Nov 2007 02:23:51 +0000 (02:23 -0000)
coreutils/echo.c
include/libbb.h
shell/ash.c
shell/hush.c

index 4c7a917..e39b466 100644 (file)
 
 #include "libbb.h"
 
+/* This is a NOFORK applet. Be very careful! */
+
 /* argc is unused, but removing it precludes compiler from
  * using call -> jump optimization */
-int bb_echo(int argc, char **argv)
+
+int echo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int echo_main(int argc, char **argv)
 {
        const char *arg;
 #if !ENABLE_FEATURE_FANCY_ECHO
@@ -38,7 +42,7 @@ int bb_echo(int argc, char **argv)
 
        /* We must check that stdout is not closed.
         * The reason for this is highly non-obvious.
-        * bb_echo is used from shell. Shell must correctly handle "echo foo"
+        * echo_main is used from shell. Shell must correctly handle "echo foo"
         * if stdout is closed. With stdio, output gets shoveled into
         * stdout buffer, and even fflush cannot clear it out. It seems that
         * even if libc receives EBADF on write attempts, it feels determined
@@ -135,14 +139,6 @@ int bb_echo(int argc, char **argv)
        return fflush(stdout);
 }
 
-/* This is a NOFORK applet. Be very careful! */
-
-int echo_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int echo_main(int argc, char **argv)
-{
-       return bb_echo(argc, argv);
-}
-
 /*-
  * Copyright (c) 1991, 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -185,7 +181,7 @@ int echo_main(int argc, char **argv)
 #ifdef VERSION_WITH_WRITEV
 /* We can't use stdio.
  * The reason for this is highly non-obvious.
- * bb_echo is used from shell. Shell must correctly handle "echo foo"
+ * echo_main is used from shell. Shell must correctly handle "echo foo"
  * if stdout is closed. With stdio, output gets shoveled into
  * stdout buffer, and even fflush cannot clear it out. It seems that
  * even if libc receives EBADF on write attempts, it feels determined
@@ -195,7 +191,7 @@ int echo_main(int argc, char **argv)
  * Using writev instead, with 'direct' conversion of argv vector.
  */
 
-int bb_echo(int argc, char **argv)
+int echo_main(int argc, char **argv)
 {
        struct iovec io[argc];
        struct iovec *cur_io = io;
index 77392d0..095647d 100644 (file)
@@ -728,7 +728,7 @@ extern void bb_verror_msg(const char *s, va_list p, const char *strerr);
 
 /* applets which are useful from another applets */
 int bb_cat(char** argv);
-int bb_echo(int argc, char** argv);
+int echo_main(int argc, char** argv) MAIN_EXTERNALLY_VISIBLE;
 int test_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int kill_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 #if ENABLE_ROUTE
index 4113ce8..7f75316 100644 (file)
@@ -11003,7 +11003,7 @@ exitcmd(int argc, char **argv)
 static int
 echocmd(int argc, char **argv)
 {
-       return bb_echo(argc, argv);
+       return echo_main(argc, argv);
 }
 #endif
 
index a9c1fe7..f7e2a4a 100644 (file)
@@ -853,7 +853,7 @@ static int builtin_echo(char **argv)
                argc++;
                argv++;
        }
-       return bb_echo(argc, argv - argc);
+       return echo_main(argc, argv - argc);
 }
 
 /* built-in 'eval' handler */