diff options
author | Tim Kientzle <kientzle@FreeBSD.org> | 2004-07-19 14:54:38 +0000 |
---|---|---|
committer | Tim Kientzle <kientzle@FreeBSD.org> | 2004-07-19 14:54:38 +0000 |
commit | 040d3851d15452ddbf512b671a3ed030e290aee6 (patch) | |
tree | 21becb9191c7544337796da05f64e680cf51b0ce /usr.bin/tar/bsdtar.c | |
parent | e9345b8636dd8b9b2c579f38476538199f85d52c (diff) |
Notes
Diffstat (limited to 'usr.bin/tar/bsdtar.c')
-rw-r--r-- | usr.bin/tar/bsdtar.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/usr.bin/tar/bsdtar.c b/usr.bin/tar/bsdtar.c index 87b98320e0253..3a0b00151ed07 100644 --- a/usr.bin/tar/bsdtar.c +++ b/usr.bin/tar/bsdtar.c @@ -184,11 +184,15 @@ main(int argc, char **argv) if (bsdtar->user_uid == 0) bsdtar->extract_flags |= ARCHIVE_EXTRACT_OWNER; - bsdtar->progname = strrchr(*argv, '/'); - if (bsdtar->progname != NULL) - bsdtar->progname++; - else - bsdtar->progname = *argv; + if (*argv == NULL) + bsdtar->progname = "bsdtar"; + else { + bsdtar->progname = strrchr(*argv, '/'); + if (bsdtar->progname != NULL) + bsdtar->progname++; + else + bsdtar->progname = *argv; + } /* Rewrite traditional-style tar arguments, if used. */ argv = rewrite_argv(bsdtar, &argc, argv, tar_opts); @@ -500,7 +504,8 @@ rewrite_argv(struct bsdtar *bsdtar, int *argc, char ** src_argv, const char *p; char *src, *dest; - if (src_argv[1] == NULL || src_argv[1][0] == '-') + if (src_argv[0] == NULL || + src_argv[1] == NULL || src_argv[1][0] == '-') return (src_argv); *argc += strlen(src_argv[1]) - 1; |