diff options
Diffstat (limited to 'src/tool_paramhlp.c')
-rw-r--r-- | src/tool_paramhlp.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c index 85c5e79a7..86a3fe6b0 100644 --- a/src/tool_paramhlp.c +++ b/src/tool_paramhlp.c @@ -400,9 +400,13 @@ ParameterError str2offset(curl_off_t *val, const char *str) return PARAM_NEGATIVE_NUMERIC; #if(CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG) - *val = curlx_strtoofft(str, &endptr, 0); - if((*val == CURL_OFF_T_MAX || *val == CURL_OFF_T_MIN) && (errno == ERANGE)) - return PARAM_NUMBER_TOO_LARGE; + { + CURLofft offt = curlx_strtoofft(str, &endptr, 0, val); + if(CURL_OFFT_FLOW == offt) + return PARAM_NUMBER_TOO_LARGE; + else if(CURL_OFFT_INVAL == offt) + return PARAM_BAD_NUMERIC; + } #else errno = 0; *val = strtol(str, &endptr, 0); |