diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-28 15:18:53 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-28 15:18:53 +0100 |
commit | e992bae6f9adf3718c6263a36c004ead1c7272a8 (patch) | |
tree | f0bc9e4fa145f58ab3f9838902e09f9cfba29648 /coreutils | |
parent | 86cfb70ca5f2bde11f2d071bc59db75291d8552f (diff) |
*: remove a few more cases of argc usage. -89 bytes.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/chroot.c | 10 | ||||
-rw-r--r-- | coreutils/df.c | 4 | ||||
-rw-r--r-- | coreutils/dirname.c | 9 | ||||
-rw-r--r-- | coreutils/dos2unix.c | 8 | ||||
-rw-r--r-- | coreutils/ln.c | 19 | ||||
-rw-r--r-- | coreutils/mkdir.c | 8 | ||||
-rw-r--r-- | coreutils/nohup.c | 4 | ||||
-rw-r--r-- | coreutils/stat.c | 22 | ||||
-rw-r--r-- | coreutils/stty.c | 8 | ||||
-rw-r--r-- | coreutils/yes.c | 5 |
10 files changed, 43 insertions, 54 deletions
diff --git a/coreutils/chroot.c b/coreutils/chroot.c index 9b3d70044..f7228a61a 100644 --- a/coreutils/chroot.c +++ b/coreutils/chroot.c @@ -12,18 +12,16 @@ #include "libbb.h" int chroot_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int chroot_main(int argc, char **argv) +int chroot_main(int argc UNUSED_PARAM, char **argv) { - if (argc < 2) { - bb_show_usage(); - } - ++argv; + if (!*argv) + bb_show_usage(); xchroot(*argv); xchdir("/"); ++argv; - if (argc == 2) { + if (!*argv) { /* no 2nd param (PROG), use shell */ argv -= 2; argv[0] = getenv("SHELL"); if (!argv[0]) { diff --git a/coreutils/df.c b/coreutils/df.c index a0e6fe070..11a739816 100644 --- a/coreutils/df.c +++ b/coreutils/df.c @@ -35,7 +35,7 @@ static unsigned long kscale(unsigned long b, unsigned long bs) #endif int df_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int df_main(int argc, char **argv) +int df_main(int argc UNUSED_PARAM, char **argv) { unsigned long blocks_used; unsigned blocks_percent_used; @@ -105,7 +105,7 @@ int df_main(int argc, char **argv) mount_table = NULL; argv += optind; - if (optind >= argc) { + if (!argv[0]) { mount_table = setmntent(bb_path_mtab_file, "r"); if (!mount_table) bb_perror_msg_and_die(bb_path_mtab_file); diff --git a/coreutils/dirname.c b/coreutils/dirname.c index 1f5f70dfd..94c22a7ee 100644 --- a/coreutils/dirname.c +++ b/coreutils/dirname.c @@ -15,13 +15,8 @@ /* This is a NOFORK applet. Be very careful! */ int dirname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int dirname_main(int argc, char **argv) +int dirname_main(int argc UNUSED_PARAM, char **argv) { - if (argc != 2) { - bb_show_usage(); - } - - puts(dirname(argv[1])); - + puts(dirname(single_argv(argv))); return fflush_all(); } diff --git a/coreutils/dos2unix.c b/coreutils/dos2unix.c index baf879e54..1911f5319 100644 --- a/coreutils/dos2unix.c +++ b/coreutils/dos2unix.c @@ -69,7 +69,7 @@ static void convert(char *fn, int conv_type) } int dos2unix_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int dos2unix_main(int argc, char **argv) +int dos2unix_main(int argc UNUSED_PARAM, char **argv) { int o, conv_type; @@ -88,11 +88,11 @@ int dos2unix_main(int argc, char **argv) if (o) conv_type = o; + argv += optind; do { /* might be convert(NULL) if there is no filename given */ - convert(argv[optind], conv_type); - optind++; - } while (optind < argc); + convert(*argv, conv_type); + } while (*++argv); return 0; } diff --git a/coreutils/ln.c b/coreutils/ln.c index eb7171959..f977aa177 100644 --- a/coreutils/ln.c +++ b/coreutils/ln.c @@ -26,7 +26,7 @@ int ln_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int ln_main(int argc, char **argv) { int status = EXIT_SUCCESS; - int flag; + int opts; char *last; char *src_name; char *src; @@ -34,11 +34,8 @@ int ln_main(int argc, char **argv) struct stat statbuf; int (*link_func)(const char *, const char *); - flag = getopt32(argv, "sfnbS:", &suffix); - - if (argc == optind) { - bb_show_usage(); - } + opt_complementary = "-1"; /* min one arg */ + opts = getopt32(argv, "sfnbS:", &suffix); last = argv[argc - 1]; argv += optind; @@ -53,7 +50,7 @@ int ln_main(int argc, char **argv) src = last; if (is_directory(src, - (flag & LN_NODEREFERENCE) ^ LN_NODEREFERENCE, + (opts & LN_NODEREFERENCE) ^ LN_NODEREFERENCE, NULL) ) { src_name = xstrdup(*argv); @@ -61,7 +58,7 @@ int ln_main(int argc, char **argv) free(src_name); src_name = src; } - if (!(flag & LN_SYMLINK) && stat(*argv, &statbuf)) { + if (!(opts & LN_SYMLINK) && stat(*argv, &statbuf)) { // coreutils: "ln dangling_symlink new_hardlink" works if (lstat(*argv, &statbuf) || !S_ISLNK(statbuf.st_mode)) { bb_simple_perror_msg(*argv); @@ -71,7 +68,7 @@ int ln_main(int argc, char **argv) } } - if (flag & LN_BACKUP) { + if (opts & LN_BACKUP) { char *backup; backup = xasprintf("%s%s", src, suffix); if (rename(src, backup) < 0 && errno != ENOENT) { @@ -87,12 +84,12 @@ int ln_main(int argc, char **argv) * Therefore, always unlink(). */ unlink(src); - } else if (flag & LN_FORCE) { + } else if (opts & LN_FORCE) { unlink(src); } link_func = link; - if (flag & LN_SYMLINK) { + if (opts & LN_SYMLINK) { link_func = symlink; } diff --git a/coreutils/mkdir.c b/coreutils/mkdir.c index a110165db..c837e9726 100644 --- a/coreutils/mkdir.c +++ b/coreutils/mkdir.c @@ -34,7 +34,7 @@ static const char mkdir_longopts[] ALIGN1 = #endif int mkdir_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int mkdir_main(int argc, char **argv) +int mkdir_main(int argc UNUSED_PARAM, char **argv) { mode_t mode = (mode_t)(-1); int status = EXIT_SUCCESS; @@ -64,11 +64,9 @@ int mkdir_main(int argc, char **argv) } #endif - if (optind == argc) { - bb_show_usage(); - } - argv += optind; + if (!argv[0]) + bb_show_usage(); do { if (bb_make_directory(*argv, mode, flags)) { diff --git a/coreutils/nohup.c b/coreutils/nohup.c index f44e2af61..c9e65d2ba 100644 --- a/coreutils/nohup.c +++ b/coreutils/nohup.c @@ -32,14 +32,14 @@ nohup: redirecting stderr to stdout */ int nohup_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int nohup_main(int argc, char **argv) +int nohup_main(int argc UNUSED_PARAM, char **argv) { const char *nohupout; char *home; xfunc_error_retval = 127; - if (argc < 2) bb_show_usage(); + if (!argv[1]) bb_show_usage(); /* If stdin is a tty, detach from it. */ if (isatty(STDIN_FILENO)) { diff --git a/coreutils/stat.c b/coreutils/stat.c index 2bc9a086c..bbd2e6a7c 100644 --- a/coreutils/stat.c +++ b/coreutils/stat.c @@ -640,29 +640,29 @@ static bool do_stat(const char *filename, const char *format) } int stat_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int stat_main(int argc, char **argv) +int stat_main(int argc UNUSED_PARAM, char **argv) { IF_FEATURE_STAT_FORMAT(char *format = NULL;) int i; - int ok = 1; + int ok; + unsigned opts; statfunc_ptr statfunc = do_stat; - getopt32(argv, "ftL" + opt_complementary = "-1"; /* min one arg */ + opts = getopt32(argv, "ftL" IF_SELINUX("Z") IF_FEATURE_STAT_FORMAT("c:", &format) ); - - if (option_mask32 & OPT_FILESYS) /* -f */ + if (opts & OPT_FILESYS) /* -f */ statfunc = do_statfs; - if (argc == optind) /* files */ - bb_show_usage(); - #if ENABLE_SELINUX - if (option_mask32 & OPT_SELINUX) { + if (opts & OPT_SELINUX) { selinux_or_die(); } -#endif /* ENABLE_SELINUX */ - for (i = optind; i < argc; ++i) +#endif + ok = 1; + argv += optind; + for (i = 0; argv[i]; ++i) ok &= statfunc(argv[i] IF_FEATURE_STAT_FORMAT(, format)); return (ok ? EXIT_SUCCESS : EXIT_FAILURE); diff --git a/coreutils/stty.c b/coreutils/stty.c index f29fa64f7..0485b8011 100644 --- a/coreutils/stty.c +++ b/coreutils/stty.c @@ -1156,7 +1156,7 @@ static void set_control_char_or_die(const struct control_info *info, #define STTY_noargs (1 << 4) int stty_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int stty_main(int argc, char **argv) +int stty_main(int argc UNUSED_PARAM, char **argv) { struct termios mode; void (*output_func)(const struct termios *, const int); @@ -1211,8 +1211,10 @@ int stty_main(int argc, char **argv) if (!file_name) bb_error_msg_and_die(bb_msg_requires_arg, "-F"); /* remove -F param from arg[vc] */ - --argc; - while (argv[p]) { argv[p] = argv[p+1]; ++p; } + while (argv[p]) { + argv[p] = argv[p+1]; + ++p; + } } goto end_option; default: diff --git a/coreutils/yes.c b/coreutils/yes.c index 9d3f67550..d757a4504 100644 --- a/coreutils/yes.c +++ b/coreutils/yes.c @@ -19,14 +19,13 @@ /* This is a NOFORK applet. Be very careful! */ int yes_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -int yes_main(int argc, char **argv) +int yes_main(int argc UNUSED_PARAM, char **argv) { char **pp; argv[0] = (char*)"y"; - if (argc != 1) { + if (argv[1]) ++argv; - } do { pp = argv; |