From 9f56cbad145e5eb1141cd8ffb5c2eeb8c655c2cc Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 8 Jul 2008 18:44:23 +0000 Subject: [PATCH] 2008-07-08 20:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c ! CURL_EASY_GETINFO() will now return the proper type (with an empty value) if the given info type is not supported in the libcurl version used at build-time. (This makes the test program not crash after latest hbcurl changes.) --- harbour/ChangeLog | 8 ++++++ harbour/contrib/hbcurl/hbcurl.c | 44 ++++++++++++++++++--------------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 11fd573793..2adf79a2cd 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,14 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-07-08 20:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbcurl/hbcurl.c + ! CURL_EASY_GETINFO() will now return the proper type + (with an empty value) if the given info type is not + supported in the libcurl version used at build-time. + (This makes the test program not crash after latest + hbcurl changes.) + 2008-07-08 19:03 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * contrib/hbmzip/hbmzip.c + implemented file date/time get/set for OS2 diff --git a/harbour/contrib/hbcurl/hbcurl.c b/harbour/contrib/hbcurl/hbcurl.c index ea78e08d64..38c9680f8a 100644 --- a/harbour/contrib/hbcurl/hbcurl.c +++ b/harbour/contrib/hbcurl/hbcurl.c @@ -1417,22 +1417,24 @@ HB_FUNC( CURL_EASY_GETINFO ) res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_STARTTRANSFER_TIME, &ret_double ); type = HB_CURL_INFO_TYPE_DOUBLE; break; -#if LIBCURL_VERSION_NUM >= 0x070907 case HB_CURLINFO_REDIRECT_TIME: +#if LIBCURL_VERSION_NUM >= 0x070907 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_REDIRECT_TIME, &ret_double ); +#endif type = HB_CURL_INFO_TYPE_DOUBLE; break; case HB_CURLINFO_REDIRECT_COUNT: +#if LIBCURL_VERSION_NUM >= 0x070907 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_REDIRECT_COUNT, &ret_long ); +#endif type = HB_CURL_INFO_TYPE_LONG; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x071202 case HB_CURLINFO_REDIRECT_URL: +#if LIBCURL_VERSION_NUM >= 0x071202 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_REDIRECT_URL, &ret_string ); +#endif type = HB_CURL_INFO_TYPE_STR; break; -#endif case HB_CURLINFO_SIZE_UPLOAD: res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_SIZE_UPLOAD, &ret_double ); type = HB_CURL_INFO_TYPE_DOUBLE; @@ -1461,12 +1463,12 @@ HB_FUNC( CURL_EASY_GETINFO ) res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_SSL_VERIFYRESULT, &ret_long ); type = HB_CURL_INFO_TYPE_LONG; break; -#if LIBCURL_VERSION_NUM >= 0x071203 case HB_CURLINFO_SSL_ENGINES: +#if LIBCURL_VERSION_NUM >= 0x071203 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_SSL_ENGINES, &ret_slist ); +#endif type = HB_CURL_INFO_TYPE_SLIST; break; -#endif case HB_CURLINFO_CONTENT_LENGTH_DOWNLOAD: res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &ret_double ); type = HB_CURL_INFO_TYPE_DOUBLE; @@ -1479,52 +1481,54 @@ HB_FUNC( CURL_EASY_GETINFO ) res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_CONTENT_TYPE, &ret_string ); type = HB_CURL_INFO_TYPE_STR; break; -#if LIBCURL_VERSION_NUM >= 0x070A03 case HB_CURLINFO_PRIVATE: +#if LIBCURL_VERSION_NUM >= 0x070A03 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_PRIVATE, &ret_ptr ); +#endif type = HB_CURL_INFO_TYPE_PTR; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x070A08 case HB_CURLINFO_HTTPAUTH_AVAIL: +#if LIBCURL_VERSION_NUM >= 0x070A08 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_HTTPAUTH_AVAIL, &ret_long ); +#endif type = HB_CURL_INFO_TYPE_LONG; break; case HB_CURLINFO_PROXYAUTH_AVAIL: +#if LIBCURL_VERSION_NUM >= 0x070A08 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_PROXYAUTH_AVAIL, &ret_long ); +#endif type = HB_CURL_INFO_TYPE_LONG; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x070C02 case HB_CURLINFO_OS_ERRNO: +#if LIBCURL_VERSION_NUM >= 0x070C02 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_OS_ERRNO, &ret_long ); +#endif type = HB_CURL_INFO_TYPE_LONG; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x070C03 case HB_CURLINFO_NUM_CONNECTS: +#if LIBCURL_VERSION_NUM >= 0x070C03 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_NUM_CONNECTS, &ret_long ); +#endif type = HB_CURL_INFO_TYPE_LONG; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x070E01 case HB_CURLINFO_COOKIELIST: +#if LIBCURL_VERSION_NUM >= 0x070E01 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_COOKIELIST, &ret_slist ); +#endif type = HB_CURL_INFO_TYPE_SLIST; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x070F02 case HB_CURLINFO_LASTSOCKET: +#if LIBCURL_VERSION_NUM >= 0x070F02 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_LASTSOCKET, &ret_long ); +#endif type = HB_CURL_INFO_TYPE_LONG; break; -#endif -#if LIBCURL_VERSION_NUM >= 0x070F04 case HB_CURLINFO_FTP_ENTRY_PATH: +#if LIBCURL_VERSION_NUM >= 0x070F04 res = HB_CURL_EASY_GETINFO( hb_curl, CURLINFO_FTP_ENTRY_PATH, &ret_string ); +#endif type = HB_CURL_INFO_TYPE_STR; break; -#endif } switch( type )