diff options
Diffstat (limited to 'tar.c')
-rw-r--r-- | tar.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -149,6 +149,7 @@ extern int tar_main(int argc, char **argv) | |||
149 | int createFlag = FALSE; | 149 | int createFlag = FALSE; |
150 | int verboseFlag = FALSE; | 150 | int verboseFlag = FALSE; |
151 | int tostdoutFlag = FALSE; | 151 | int tostdoutFlag = FALSE; |
152 | int firstOpt = TRUE; | ||
152 | int stopIt; | 153 | int stopIt; |
153 | 154 | ||
154 | 155 | ||
@@ -156,7 +157,9 @@ extern int tar_main(int argc, char **argv) | |||
156 | usage(tar_usage); | 157 | usage(tar_usage); |
157 | 158 | ||
158 | /* do normal option parsing */ | 159 | /* do normal option parsing */ |
159 | while (--argc > 0 && strspn(*(++argv), "-cxt") >0 ) { | 160 | while (--argc > 0 && ((*argv && **(++argv) == '-') || |
161 | (firstOpt==TRUE && strspn(*argv, "-cxt") ))) { | ||
162 | firstOpt=FALSE; | ||
160 | stopIt=FALSE; | 163 | stopIt=FALSE; |
161 | while (stopIt==FALSE && *argv && **argv) { | 164 | while (stopIt==FALSE && *argv && **argv) { |
162 | switch (**argv) { | 165 | switch (**argv) { |