diff options
-rw-r--r-- | AUTHORS | 3 | ||||
-rw-r--r-- | Changelog | 2 | ||||
-rw-r--r-- | networking/wget.c | 12 | ||||
-rw-r--r-- | wget.c | 12 |
4 files changed, 13 insertions, 16 deletions
@@ -46,6 +46,9 @@ Glenn McGrath <bug1@netconnect.com.au> Bruce Perens <bruce@pixar.com> Original author of BusyBox. His code is still in many apps. +Chip Rosenthal <chip@unicom.com>, <crosenth@covad.com> + wget - Contributed by permission of Covad Communications + Pavel Roskin <proski@gnu.org> Lots of bugs fixes and patches. @@ -13,6 +13,8 @@ Sterling Huxley <sterling@europa.com> * lsmod now uses the query_module syscall, rather then /proc * Added 'rdate' command from Sterling Huxley <sterling@europa.com> + * Added 'wget' command, contributed by Chip Rosenthal <chip@unicom.com>, + <crosenth@covad.com> and Covad Communications * Added 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org> * Fixed chmod option parsing so things like 'chmod -r /tmp/file' wouldn't work (since it thought -r was an option). Doh! diff --git a/networking/wget.c b/networking/wget.c index 4f894fcaa..c06e76d90 100644 --- a/networking/wget.c +++ b/networking/wget.c @@ -50,7 +50,7 @@ int wget_main(int argc, char **argv) ++do_continue; break; case 'O': - fname_out = optarg; + fname_out = (strcmp(optarg, "-") == 0 ? NULL : optarg); break; default: usage(wget_usage); @@ -74,12 +74,8 @@ int wget_main(int argc, char **argv) * Open the output stream. */ if (fname_out != NULL) { - /* Check if the file is supposed to go to stdout */ - if (!strcmp(fname_out, "-") == 0) { - /* Nope -- so open the output file */ - if (freopen(fname_out, (do_continue ? "a" : "w"), stdout) == NULL) - fatalError("wget: freopen(%s): %s\n", fname_out, strerror(errno)); - } + if (freopen(fname_out, (do_continue ? "a" : "w"), stdout) == NULL) + fatalError("wget: freopen(%s): %s\n", fname_out, strerror(errno)); } /* @@ -248,7 +244,7 @@ char *gethdr(char *buf, size_t bufsiz, FILE *fp, int *istrunc) return hdrval; } - /* Rat! The buffer isn't big enough to hold the entire header value. */ + /* Rats! The buffer isn't big enough to hold the entire header value. */ while (c = getc(fp), c != EOF && c != '\n') ; *istrunc = 1; @@ -50,7 +50,7 @@ int wget_main(int argc, char **argv) ++do_continue; break; case 'O': - fname_out = optarg; + fname_out = (strcmp(optarg, "-") == 0 ? NULL : optarg); break; default: usage(wget_usage); @@ -74,12 +74,8 @@ int wget_main(int argc, char **argv) * Open the output stream. */ if (fname_out != NULL) { - /* Check if the file is supposed to go to stdout */ - if (!strcmp(fname_out, "-") == 0) { - /* Nope -- so open the output file */ - if (freopen(fname_out, (do_continue ? "a" : "w"), stdout) == NULL) - fatalError("wget: freopen(%s): %s\n", fname_out, strerror(errno)); - } + if (freopen(fname_out, (do_continue ? "a" : "w"), stdout) == NULL) + fatalError("wget: freopen(%s): %s\n", fname_out, strerror(errno)); } /* @@ -248,7 +244,7 @@ char *gethdr(char *buf, size_t bufsiz, FILE *fp, int *istrunc) return hdrval; } - /* Rat! The buffer isn't big enough to hold the entire header value. */ + /* Rats! The buffer isn't big enough to hold the entire header value. */ while (c = getc(fp), c != EOF && c != '\n') ; *istrunc = 1; |