shell/ulimit: code shrink by 10 bytes
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 8 Mar 2010 22:28:30 +0000 (23:28 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 8 Mar 2010 22:28:30 +0000 (23:28 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/builtin_ulimit.c

index 7e867834135e802da06d3911d5d38861c31fb67c..9f9205eb6551f955e2f87016f22a64ab093c5da7 100644 (file)
@@ -175,15 +175,16 @@ int FAST_FUNC shell_builtin_ulimit(char **argv)
                        opt_char = 'f';
                for (l = limits_tbl; l != &limits_tbl[ARRAY_SIZE(limits_tbl)]; l++) {
                        if (opt_char == l->option) {
-                               char *val_str = optarg ? optarg : (argv[optind] && argv[optind][0] != '-' ? argv[optind] : NULL);
+                               char *val_str;
 
                                getrlimit(l->cmd, &limit);
+
+                               val_str = optarg;
+                               if (!val_str && argv[optind] && argv[optind][0] != '-')
+                                       val_str = argv[optind++]; /* ++ skips NN in "-c NN" case */
                                if (val_str) {
                                        rlim_t val;
 
-                                       if (!optarg) /* -c NNN: make getopt skip NNN */
-                                               optind++;
-
                                        if (strcmp(val_str, "unlimited") == 0)
                                                val = RLIM_INFINITY;
                                        else {