diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-06-29 10:32:56 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-06-29 10:32:56 +0000 |
| commit | a8369cd91b14dbd0b71dacf03e709a257d9aff4c (patch) | |
| tree | 60aafab82c5a9e5dc516993f27134a870e6dce4c | |
| parent | f685a909b59c80d99dc4fd65f24f7778b06e557b (diff) | |
Notes
| -rw-r--r-- | usr.bin/fetch/fetch.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 48d3da175308..87407ecdd014 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -50,6 +50,7 @@ int A_flag; /* -A: do not follow 302 redirects */ int a_flag; /* -a: auto retry */ size_t B_size; /* -B: buffer size */ int b_flag; /*! -b: workaround TCP bug */ +char *c_dirname; /* -c: remote directory */ int d_flag; /* -d: direct connection */ int F_flag; /* -F: restart without checking mtime */ char *f_filename; /* -f: file to fetch */ @@ -434,7 +435,7 @@ main(int argc, char *argv[]) int c, e, r; while ((c = getopt(argc, argv, - "146AaB:bdFf:h:lHMmnPpo:qRrS:sT:tvw:")) != EOF) + "146AaB:bc:dFf:h:lHMmnPpo:qRrS:sT:tvw:")) != EOF) switch (c) { case '1': once_flag = 1; @@ -459,6 +460,9 @@ main(int argc, char *argv[]) warnx("warning: the -b option is deprecated"); b_flag = 1; break; + case 'c': + c_dirname = optarg; + break; case 'd': d_flag = 1; break; @@ -532,7 +536,7 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; - if (h_hostname || f_filename) { + if (h_hostname || f_filename || c_dirname) { if (!h_hostname || !f_filename || argc) { usage(); exit(EX_USAGE); @@ -540,7 +544,8 @@ main(int argc, char *argv[]) /* XXX this is a hack. */ if (strcspn(h_hostname, "@:/") != strlen(h_hostname)) errx(1, "invalid hostname"); - if (asprintf(argv, "ftp://%s/%s", h_hostname, f_filename) == -1) + if (asprintf(argv, "ftp://%s/%s/%s", h_hostname, + c_dirname ? c_dirname : "", f_filename) == -1) errx(1, strerror(ENOMEM)); argc++; } |
