forked from pool/mtools
48 lines
1.2 KiB
Diff
48 lines
1.2 KiB
Diff
diff -upr mtools-4.0.10/mattrib.c mtools-4.0.10.new/mattrib.c
|
|
--- mtools-4.0.10/mattrib.c 2009-03-03 07:10:13.000000000 +0100
|
|
+++ mtools-4.0.10.new/mattrib.c 2009-10-23 09:07:45.000000000 +0200
|
|
@@ -168,6 +168,7 @@ void mattrib(int argc, char **argv, int
|
|
int concise;
|
|
int replay;
|
|
char *ptr;
|
|
+ int wantUsage;
|
|
|
|
arg.add = 0;
|
|
arg.remove = 0xff;
|
|
@@ -176,11 +177,16 @@ void mattrib(int argc, char **argv, int
|
|
view = 0;
|
|
concise = 0;
|
|
replay = 0;
|
|
+
|
|
+ wantUsage = 0;
|
|
|
|
if(helpFlag(argc, argv))
|
|
usage(0);
|
|
- while ((c = getopt(argc, argv, "i:/ahrsAHRSXph")) != EOF) {
|
|
+ while ((c = getopt(argc, argv, "i:/ahrsAHRSXp")) != EOF) {
|
|
switch (c) {
|
|
+ case 'h':
|
|
+ wantUsage = 1;
|
|
+ /* FALL TROUGH */
|
|
default:
|
|
arg.remove &= ~letterToCode(c);
|
|
break;
|
|
@@ -196,13 +202,15 @@ void mattrib(int argc, char **argv, int
|
|
case 'X':
|
|
concise = 1;
|
|
break;
|
|
- case 'h':
|
|
- usage(0);
|
|
case '?':
|
|
usage(1);
|
|
}
|
|
}
|
|
|
|
+ if(optind == argc && wantUsage) {
|
|
+ usage(0);
|
|
+ }
|
|
+
|
|
for(;optind < argc;optind++) {
|
|
switch(argv[optind][0]) {
|
|
case '+':
|