From fe5e23bf75043302a3492c9a7cd2f30f20f51b2e Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sat, 24 Nov 2007 02:23:51 +0000 Subject: remove echo_main -> bb_echo indirection --- coreutils/echo.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'coreutils/echo.c') diff --git a/coreutils/echo.c b/coreutils/echo.c index 4c7a91743..e39b466c0 100644 --- a/coreutils/echo.c +++ b/coreutils/echo.c @@ -25,9 +25,13 @@ #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; -- cgit v1.2.3