aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES5
-rw-r--r--RELEASE-NOTES3
-rw-r--r--src/main.c13
3 files changed, 19 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 47c76f714..aee71cdcf 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,11 @@
Daniel (13 November 2005)
+- Debian bug report 338681 by Jan Kunder: make curl better detect and report
+ bad limit-rate units:
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338681 Now curl will return
+ error if a bad unit is used.
+
- Thanks to this nice summary of poll() implementations:
http://www.greenend.org.uk/rjk/2001/06/poll.html and further tests by Eugene
Kotlyarov, we now know that cygwin's poll returns only POLLHUP on remote
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 0bfb637ac..81da353ba 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -18,6 +18,7 @@ This release includes the following changes:
This release includes the following bugfixes:
+ o curl outputs error on bad --limit-rate units
o fixed libcurl's use of poll() on cygwin
o the GnuTLS code didn't support client certificates
o TFTP over IPv6 works
@@ -48,6 +49,6 @@ advice from friends like these:
Dave Dribin, Bradford Bruce, Temprimus, Ofer, Dima Barsky, Amol Pattekar, Jaz
Fresh, tommink[at]post.pl, Gisle Vanem, Nis Jorgensen, Vilmos Nebehaj,
- Dmitry Bartsevich, David Lang, Eugene Kotlyarov
+ Dmitry Bartsevich, David Lang, Eugene Kotlyarov, Jan Kunder
Thanks! (and sorry if I forgot to mention someone)
diff --git a/src/main.c b/src/main.c
index 99edc61d7..c43241930 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1497,7 +1497,11 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
/* We support G, M, K too */
char *unit;
curl_off_t value = curlx_strtoofft(nextarg, &unit, 0);
- switch(nextarg[strlen(nextarg)-1]) {
+
+ if(strlen(unit) != 1)
+ unit="w"; /* unsupported */
+
+ switch(*unit) {
case 'G':
case 'g':
value *= 1024*1024*1024;
@@ -1510,6 +1514,13 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
case 'k':
value *= 1024;
break;
+ case 'b':
+ case 'B':
+ /* for plain bytes, leave as-is */
+ break;
+ default:
+ warnf(config, "unsupported rate unit. Use G, M, K or B!\n");
+ return PARAM_BAD_USE;
}
config->recvpersecond = value;
config->sendpersecond = value;