[libvirt] [PATCH] esx: Output error details from libcurl

Matthias Bolte matthias.bolte at googlemail.com
Tue Jan 26 20:32:26 UTC 2010


2010/1/26 Daniel P. Berrange <berrange at redhat.com>:
> On Tue, Jan 26, 2010 at 03:20:00AM +0100, Matthias Bolte wrote:
>> ---
>>  src/esx/esx_vi.c |   14 ++++++++------
>>  src/esx/esx_vi.h |    1 +
>>  2 files changed, 9 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c
>> index 0fe9535..bc94326 100644
>> --- a/src/esx/esx_vi.c
>> +++ b/src/esx/esx_vi.c
>> @@ -251,8 +251,8 @@ esxVI_CURL_Perform(esxVI_Context *ctx, const char *url)
>>
>>      if (errorCode != CURLE_OK) {
>>          ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,
>> -                     "curl_easy_perform() returned an error: %s (%d)",
>> -                     curl_easy_strerror(errorCode), errorCode);
>> +                     "curl_easy_perform() returned an error: %s (%d) : %s",
>> +                     curl_easy_strerror(errorCode), errorCode, ctx->curl_error);
>>          return -1;
>>      }
>>
>> @@ -262,8 +262,8 @@ esxVI_CURL_Perform(esxVI_Context *ctx, const char *url)
>>      if (errorCode != CURLE_OK) {
>>          ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,
>>                       "curl_easy_getinfo(CURLINFO_RESPONSE_CODE) returned an "
>> -                     "error: %s (%d)", curl_easy_strerror(errorCode),
>> -                     errorCode);
>> +                     "error: %s (%d) : %s", curl_easy_strerror(errorCode),
>> +                     errorCode, ctx->curl_error);
>>          return -1;
>>      }
>>
>> @@ -282,8 +282,8 @@ esxVI_CURL_Perform(esxVI_Context *ctx, const char *url)
>>          if (errorCode != CURLE_OK) {
>>              ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,
>>                           "curl_easy_getinfo(CURLINFO_REDIRECT_URL) returned "
>> -                         "an error: %s (%d)", curl_easy_strerror(errorCode),
>> -                         errorCode);
>> +                         "an error: %s (%d) : %s", curl_easy_strerror(errorCode),
>> +                         errorCode, ctx->curl_error);
>>          } else {
>>              ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,
>>                           "The server redirects from '%s' to '%s'", url,
>> @@ -360,6 +360,8 @@ esxVI_Context_Connect(esxVI_Context *ctx, const char *url,
>>                       esxVI_CURL_ReadString);
>>      curl_easy_setopt(ctx->curl_handle, CURLOPT_WRITEFUNCTION,
>>                       esxVI_CURL_WriteBuffer);
>> +    curl_easy_setopt(ctx->curl_handle, CURLOPT_ERRORBUFFER,
>> +                     ctx->curl_error);
>>  #if ESX_VI__CURL__ENABLE_DEBUG_OUTPUT
>>      curl_easy_setopt(ctx->curl_handle, CURLOPT_DEBUGFUNCTION, esxVI_CURL_Debug);
>>      curl_easy_setopt(ctx->curl_handle, CURLOPT_VERBOSE, 1);
>> diff --git a/src/esx/esx_vi.h b/src/esx/esx_vi.h
>> index 608dcbd..4e8b675 100644
>> --- a/src/esx/esx_vi.h
>> +++ b/src/esx/esx_vi.h
>> @@ -77,6 +77,7 @@ struct _esxVI_Context {
>>      char *ipAddress;
>>      CURL *curl_handle;
>>      struct curl_slist *curl_headers;
>> +    char curl_error[CURL_ERROR_SIZE];
>>      virMutex curl_lock;
>>      char *username;
>>      char *password;
>> --
>
> ACK
>
> Daniel
>

Thanks, pushed.

Matthias




More information about the libvir-list mailing list