* 修复网友FXA提出的curl的一个bug，见下面聊天记录： fxa 16:38:32 curl有一个坑，，
* 修复网友FXA提出的curl的一个bug，见下面聊天记录：
fxa 16:38:32
curl有一个坑，，

表现为:Problem (2) in the Chunked-Encoded data,,不知道最新版本修正 了没有
发生平台:win32,
网上的答案curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);全是错误的,,没有解决根本问题

解决方案:
http_chunks.c修改Curl_httpchunk_read函数
 

原因分析:
curlx_strtoofft函数在vc下实现时，如果转换失败，，会抛异常，而不会设置错误码，由于其它原因，在调用此函数前，如果错误码不为空，那么，这里就会出错，导致解析chunk出错

miniblink中的代码 

一样会有问题

此函数在vc下为strtoxq，，，代码可见，，没有设置lasterror

所以，在函数调用后，不应该检查lasterror来判断是否成功

curl有问题

我遇到过

和mongoose.h一起使用的时候，出错

curlx_strtoofft为_strtoi64

 _strtoi64
转换失败，不会修改lasterror


处理win32平台，，目前我只是暂时处理了 

我是判断返回0,并且 错误码为ERANGE

win32下面的errno,不是getlasterror返回值


CURL_OFF_T_MAX的值是多少？

转换失败，返回为0

msdn没有讲转换失败，返回值，

只讲了这个If nptr is NULL or the base is nonzero and either less than 2 or greater than 36, errno is set to EINVAL.

你看curl表现
解析十六进制227,,,居然解析失败

这个问题在curl中，不太好触 发，，我也是偶然遇到

应该这样修改

The function will return 0 if no conversion can be performed

_strtoi64returns the value represented in the string nptr, except when the representation would cause an overflow, in which case it returns _I64_MAX or _I64_MIN. The function will return 0 if no conversion can be performed. _wcstoi64 returns values analogously to strtoi64.

_I64_MAX and _I64_MIN are defined in LIMITS.H.

If nptr is NULL or the base is nonzero and either less than 2 or greater than 36, errno is set to EINVAL.

See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, return codes.

不对，

我看下，不应该检测 errno


失败应该返回_I64_MAX or _I64_MIN

0在chunked中是有意义 的

chunk可以为0

我这边有一个工程，必出这个错误

因为我是websocket与curl混用

去年估计是没有发现

前两天，我测试如果websocket服务器出问题了，rest能否及时更上时，发现这问题的


这错误，只要出现一次，在循环http请求中，不可恢复 ，除非有其它函数出错，修改了errno值,,

vc 中errno != GetLastError,我这才发现
zero-rp/miniblink49,zero-rp/miniblink49,zero-rp/miniblink49,weolar/miniblink49,weolar/miniblink49,weolar/miniblink49,zero-rp/miniblink49,weolar/miniblink49,weolar/miniblink49,zero-rp/miniblink49,zero-rp/miniblink49,weolar/miniblink49,weolar/miniblink49,zero-rp/miniblink49,weolar/miniblink49,zero-rp/miniblink49,zero-rp/miniblink49,zero-rp/miniblink49,weolar/miniblink49