summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen2000-09-14 21:46:30 +0000
committerEric Andersen2000-09-14 21:46:30 +0000
commit5d63884a8fb2ccf63f16c3be61849e859b762cd0 (patch)
tree605007988fd548de8a2c57a3d8bd50875c6a8252
parent31e6829bd8661711b8f5ec3d8b4fb7cb6a512ca9 (diff)
downloadbusybox-5d63884a8fb2ccf63f16c3be61849e859b762cd0.zip
busybox-5d63884a8fb2ccf63f16c3be61849e859b762cd0.tar.gz
Bug fix for wget, and proper attribution of Chip Rosenthal and
Covad Communications for the contribution of wget. -Erik
-rw-r--r--AUTHORS3
-rw-r--r--Changelog2
-rw-r--r--networking/wget.c12
-rw-r--r--wget.c12
4 files changed, 13 insertions, 16 deletions
diff --git a/AUTHORS b/AUTHORS
index 918a001..441e7f7 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -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.
diff --git a/Changelog b/Changelog
index 086ff2f..958d775 100644
--- a/Changelog
+++ b/Changelog
@@ -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 4f894fc..c06e76d 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;
diff --git a/wget.c b/wget.c
index 4f894fc..c06e76d 100644
--- a/wget.c
+++ b/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;