projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix spelling errors.
[oweals/busybox.git]
/
tar.c
diff --git
a/tar.c
b/tar.c
index 6784d80ff0cd2ee05a5ca3f78233687267656ba5..7d440f451c7c51ac426751100e8bc0c3a9976cd5 100644
(file)
--- a/
tar.c
+++ b/
tar.c
@@
-173,7
+173,7
@@
extern int tar_main(int argc, char **argv)
#if defined BB_FEATURE_TAR_EXCLUDE
int excludeListSize=0;
#endif
#if defined BB_FEATURE_TAR_EXCLUDE
int excludeListSize=0;
#endif
- const char *tarName=
NULL
;
+ const char *tarName=
"-"
;
int listFlag = FALSE;
int extractFlag = FALSE;
int createFlag = FALSE;
int listFlag = FALSE;
int extractFlag = FALSE;
int createFlag = FALSE;
@@
-185,15
+185,15
@@
extern int tar_main(int argc, char **argv)
usage(tar_usage);
/* Parse any options */
usage(tar_usage);
/* Parse any options */
- while (--argc > 0 &&
**(++argv) == '-'
) {
+ while (--argc > 0 &&
strspn(*(++argv), "-cxt") >0
) {
stopIt=FALSE;
stopIt=FALSE;
- while (stopIt==FALSE && *
(++(*argv))
) {
+ while (stopIt==FALSE && *
argv && **argv
) {
switch (**argv) {
case 'f':
if (--argc == 0) {
fatalError( "Option requires an argument: No file specified\n");
}
switch (**argv) {
case 'f':
if (--argc == 0) {
fatalError( "Option requires an argument: No file specified\n");
}
- if (
tarName != NULL
)
+ if (
*tarName != '-'
)
fatalError( "Only one 'f' option allowed\n");
tarName = *(++argv);
if (tarName == NULL)
fatalError( "Only one 'f' option allowed\n");
tarName = *(++argv);
if (tarName == NULL)
@@
-252,6
+252,7
@@
extern int tar_main(int argc, char **argv)
fatalError( "Unknown tar flag '%c'\n"
"Try `tar --help' for more information\n", **argv);
}
fatalError( "Unknown tar flag '%c'\n"
"Try `tar --help' for more information\n", **argv);
}
+ ++(*argv);
}
}
}
}
@@
-265,7
+266,8
@@
extern int tar_main(int argc, char **argv)
#else
exit(writeTarFile(tarName, tostdoutFlag, verboseFlag, argc, argv, excludeList));
#endif
#else
exit(writeTarFile(tarName, tostdoutFlag, verboseFlag, argc, argv, excludeList));
#endif
- } else {
+ }
+ if (listFlag == TRUE || extractFlag == TRUE) {
exit(readTarFile(tarName, extractFlag, listFlag, tostdoutFlag, verboseFlag, excludeList));
}
exit(readTarFile(tarName, extractFlag, listFlag, tostdoutFlag, verboseFlag, excludeList));
}