summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2008-12-10 11:51:45 +0000
committerDenis Vlasenko2008-12-10 11:51:45 +0000
commit311c19a661fb8e8cc85d131c1b87a6b80a89ef7c (patch)
tree70bf2da2e5cac027c9b6479cf61dc48739f6deec
parent6a2d0d9b8d90ba76c2f90fc352acc886bd3e578d (diff)
downloadbusybox-311c19a661fb8e8cc85d131c1b87a6b80a89ef7c.zip
busybox-311c19a661fb8e8cc85d131c1b87a6b80a89ef7c.tar.gz
ash: printf builtin with no arguments should not exit
-rw-r--r--coreutils/printf.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/coreutils/printf.c b/coreutils/printf.c
index 76524f7..b0a48cd 100644
--- a/coreutils/printf.c
+++ b/coreutils/printf.c
@@ -359,8 +359,15 @@ int printf_main(int argc UNUSED_PARAM, char **argv)
* We will mimic coreutils. */
if (argv[1] && argv[1][0] == '-' && argv[1][1] == '-' && !argv[1][2])
argv++;
- if (!argv[1])
+ if (!argv[1]) {
+ if (ENABLE_ASH_BUILTIN_PRINTF
+ && applet_name[0] != 'p'
+ ) {
+ bb_error_msg("usage: printf FORMAT [ARGUMENT...]");
+ return 2; /* bash compat */
+ }
bb_show_usage();
+ }
format = argv[1];
argv2 = argv + 2;