Whamcloud - gitweb
Print an error if more than one of the -p/-a, -n or -y options
authorTheodore Ts'o <tytso@mit.edu>
Thu, 2 Jan 2003 21:36:44 +0000 (16:36 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 2 Jan 2003 21:36:44 +0000 (16:36 -0500)
are passed to e2fsck.

e2fsck/ChangeLog
e2fsck/unix.c

index 83a7b49..86c74cb 100644 (file)
@@ -1,3 +1,8 @@
+2003-11-19  Theodore Ts'o  <tytso@mit.edu>
+
+       * unix.c (PRS): Print an error if more than one of the -p/-a, -n
+               or -y options are specified.
+
 2002-11-12  Theodore Ts'o  <tytso@mit.edu>
 
        * problem.c: Make HTREE problems PR_PREEN_OK, so that we don't
index 96fe4f3..819352c 100644 (file)
@@ -560,16 +560,22 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx)
                        break;
                case 'p':
                case 'a':
+                       if (ctx->options & (E2F_OPT_YES|E2F_OPT_NO)) {
+                       conflict_opt:
+                               fatal_error(ctx, 
+       _("Only one the options -p/-a, -n or -y may be specified."));
+                       }
                        ctx->options |= E2F_OPT_PREEN;
-                       ctx->options &= ~(E2F_OPT_YES|E2F_OPT_NO);
                        break;
                case 'n':
+                       if (ctx->options & (E2F_OPT_YES|E2F_OPT_PREEN))
+                               goto conflict_opt;
                        ctx->options |= E2F_OPT_NO;
-                       ctx->options &= ~(E2F_OPT_YES|E2F_OPT_PREEN);
                        break;
                case 'y':
+                       if (ctx->options & (E2F_OPT_PREEN|E2F_OPT_NO))
+                               goto conflict_opt;
                        ctx->options |= E2F_OPT_YES;
-                       ctx->options &= ~(E2F_OPT_PREEN|E2F_OPT_NO);
                        break;
                case 't':
 #ifdef RESOURCE_TRACK