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

Daniel P. Berrange berrange at redhat.com
Tue Jan 26 11:58:31 UTC 2010


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
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list