任何libcurl專家誰可能知道一些關於它?libcurl curl_easy_setopt long參數傳遞不正確 - va_arg(param,long)
我注意到這一點,因爲我無法打開的libcurl VERBOSE關閉:
curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
當我跟蹤直通呼叫進入的libcurl,我發現0L(長)被轉換成一個非零數,導致VERBOSE永遠在線。我沒有嘗試,但我很確定任何長參數不會正確傳遞。
data->set.verbose = (0 != va_arg(param, long))?TRUE:FALSE;
其中
#define va_arg _crt_va_arg
#define _crt_va_arg(ap,t) (*(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)))
#define _INTSIZEOF(n) ((sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1))
但我不知道這些是什麼做的。
爲什麼發生這種情況以及如何解決?
我使用Visual Studio 2010的C++與libcurl的7.27.0
感謝Scotty! va_last和va_args上非常有用的帖子。 SessionHandle的東西是一個很好的提示,所以我現在可以檢查curl的狀態。我仍然無法關閉詳細但可能這是另一個問題。我確實移動了電話(創建CURL句柄後),但仍然沒有運氣。不知道是否因爲我在調試時沒有每次調用global_cleanup。 –