我用c++在curl库API上编写了包装器。我正在尝试使用如果对于c++.Sometimes中的请求/响应,请求在发送到服务器之前失败,作为curl的返回,我要将这个字符串错误传递给我的application.Do,我需要清理它吗?
我的代码如下,
int HttpClientImplCurl::get(void*& aOutBuf, base::Size& aOutSize,void*& aOutRecvHeaderBuf, base::Size& aOutRecvHeaderSize, const char*& errorBuff)
{
HttpClientImplCurlCleaner lCleaner(this); // Cleans up when it goes out of context
struct curl_slist* lHeaders = NULL;
// setup get
CURLcode lCode = curl_easy_setopt(curlHandle, CURLOPT_URL,
aInClient.getUrl().getBuffer());
if (lCode != 0) {
errorBuff = curl_easy_strerror(lCode);
return lCode;
}
}我正在我的析构函数中做curl_easy_cleanup(curlHandle)。
这里,我将curl_easy_strerror设置为const *& errorBuff。这是我正在应用的。我应该免费(ErrorBuff)吗?
或任何curl库api,我需要使用它们来清理类似于
struct curl_slist* lHeaders = NULL;
lHeaders = curl_slist_append(lHeaders,lMultiHeader.getBuffer());
curl_slist_free_all(lHeaders);?或者它不需要,curl_easy_cleanup会负责清理?
发布于 2013-09-06 12:13:10
我在设置curl_easy_strerror..。我应该免费(ErrorBuff)吗?
不是的。
曲度误差函数使用一个字符串文字来保存错误字符串,该字符串作为const char * pointer1返回。
你一定不能解放它。
1使用const char *p,p指向常量字符。您不能更改内容。
https://stackoverflow.com/questions/18654775
复制相似问题