Whamcloud - gitweb
Miscellaneous mke2fs cleanup
authorAndreas Dilger <adilger@clusterfs.com>
Wed, 6 Jul 2005 17:58:15 +0000 (12:58 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 6 Jul 2005 17:58:15 +0000 (12:58 -0500)
Reorder some mke2fs arg parsing to be more alphabetical, and remove
use of atoi() (which doesn't report errors) in favour of strtoul().

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
misc/mke2fs.c

index d50733e..acdb842 100644 (file)
@@ -976,7 +976,7 @@ static void PRS(int argc, char *argv[])
        }
 
        while ((c = getopt (argc, argv,
-                   "b:cE:f:g:i:jl:m:no:qr:R:s:tvI:J:ST:FL:M:N:O:V")) != EOF) {
+                   "b:cf:g:i:jl:m:no:qr:s:tvE:FI:J:L:M:N:O:R:ST:V")) != EOF) {
                switch (c) {
                case 'b':
                        blocksize = strtol(optarg, &tmp, 0);
@@ -1072,8 +1072,16 @@ static void PRS(int argc, char *argv[])
                case 'o':
                        creator_os = optarg;
                        break;
+               case 'q':
+                       quiet = 1;
+                       break;
                case 'r':
-                       param.s_rev_level = atoi(optarg);
+                       param.s_rev_level = strtoul(optarg, &tmp, 0);
+                       if (*tmp) {
+                               com_err(program_name, 0,
+                                       _("bad revision level - %s"), optarg);
+                               exit(1);
+                       }
                        if (param.s_rev_level == EXT2_GOOD_OLD_REV) {
                                param.s_feature_incompat = 0;
                                param.s_feature_compat = 0;
@@ -1098,15 +1106,9 @@ static void PRS(int argc, char *argv[])
                        }
                        break;
 #endif
-               case 'N':
-                       num_inodes = atoi(optarg);
-                       break;
                case 'v':
                        verbose = 1;
                        break;
-               case 'q':
-                       quiet = 1;
-                       break;
                case 'F':
                        force = 1;
                        break;
@@ -1116,6 +1118,14 @@ static void PRS(int argc, char *argv[])
                case 'M':
                        mount_dir = optarg;
                        break;
+               case 'N':
+                       num_inodes = strtoul(optarg, &tmp, 0);
+                       if (*tmp) {
+                               com_err(program_name, 0,
+                                       _("bad num inodes - %s"), optarg);
+                                       exit(1);
+                       }
+                       break;
                case 'O':
                        if (!strcmp(optarg, "none")) {
                                param.s_feature_compat = 0;