pajoye Sun Jan 25 17:12:37 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/curl interface.c Log: - nicer features list http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.62.2.14.2.27.2.27&r2=1.62.2.14.2.27.2.28&diff_format=u Index: php-src/ext/curl/interface.c diff -u php-src/ext/curl/interface.c:1.62.2.14.2.27.2.27 php-src/ext/curl/interface.c:1.62.2.14.2.27.2.28 --- php-src/ext/curl/interface.c:1.62.2.14.2.27.2.27 Sun Jan 25 16:28:18 2009 +++ php-src/ext/curl/interface.c Sun Jan 25 17:12:36 2009 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interface.c,v 1.62.2.14.2.27.2.27 2009/01/25 16:28:18 pajoye Exp $ */ +/* $Id: interface.c,v 1.62.2.14.2.27.2.28 2009/01/25 17:12:36 pajoye Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -332,77 +332,64 @@ sprintf(str, "%d", d->age); php_info_print_table_row(2, "Age", str); -#ifdef CURL_VERSION_IPV6 - if (d->features & CURL_VERSION_IPV6) { - n = sprintf(str, "%s", "IPv6-enabled, "); - } -#endif + /* To update on each new cURL release using src/main.c in cURL sources */ + if(d->features) { + struct feat { + const char *name; + int bitmask; + }; -#ifdef CURL_VERSION_KERBEROS4 - if (d->features & CURL_VERSION_KERBEROS4) { - n += sprintf(str + n, "%s", "kerberos auth is supported, "); - } -#endif + unsigned int i; -#ifdef CURL_VERSION_SSL - if (d->features & CURL_VERSION_SSL) { - n += sprintf(str + n, "%s", "SSL options are present, "); - } -#endif - -#ifdef CURL_VERSION_LIBZ - if (d->features & CURL_VERSION_LIBZ) { - n += sprintf(str + n, "%s", "libz features are present, "); - } + static const struct feat feats[] = { +#if LIBCURL_VERSION_NUM > 0x070a06 /* 7.10.7 */ + {"AsynchDNS", CURL_VERSION_ASYNCHDNS}, #endif - #if LIBCURL_VERSION_NUM > 0x070a05 /* 7.10.6 */ - if (d->features & CURL_VERSION_NTLM) { - n += sprintf(str + n, "%s", "NTLM auth is supported, "); - } - if (d->features & CURL_VERSION_GSSNEGOTIATE) { - n += sprintf(str + n, "%s", "Negotiate auth support, "); - } - if (d->features & CURL_VERSION_DEBUG) { - n += sprintf(str + n, "%s", "built with debug capabilities, "); - } + {"Debug", CURL_VERSION_DEBUG}, + {"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE}, #endif - -#if LIBCURL_VERSION_NUM > 0x070a06 /* 7.10.7 */ - if (d->features & CURL_VERSION_ASYNCHDNS) { - n += sprintf(str + n, "%s", "asynchronous dns resolves, "); - } +#if LIBCURL_VERSION_NUM > 0x070b02 /* 7.12.0 */ + {"IDN", CURL_VERSION_IDN}, #endif -#if LIBCURL_VERSION_NUM > 0x070a07 /* 7.10.8 */ - if (d->features & CURL_VERSION_SPNEGO) { - n += sprintf(str + n, "%s", "SPNEGO auth, "); - } +#ifdef CURL_VERSION_IPV6 + {"IPv6", CURL_VERSION_IPV6}, #endif #if LIBCURL_VERSION_NUM > 0x070a09 /* 7.10.1 */ - if (d->features & CURL_VERSION_LARGEFILE) { - n += sprintf(str + n, "%s", "supports files bigger than 2GB, "); - } + {"Largefile", CURL_VERSION_LARGEFILE}, #endif -#if LIBCURL_VERSION_NUM > 0x070b02 /* 7.12.0 */ - if (d->features & CURL_VERSION_IDN) { - n += sprintf(str + n, "%s", "International Domain Names support, "); - } +#if LIBCURL_VERSION_NUM > 0x070a05 /* 7.10.6 */ + {"NTLM", CURL_VERSION_NTLM}, +#endif +#if LIBCURL_VERSION_NUM > 0x070a07 /* 7.10.8 */ + {"SPNEGO", CURL_VERSION_SPNEGO}, +#endif +#ifdef CURL_VERSION_SSL + {"SSL", CURL_VERSION_SSL}, #endif #if LIBCURL_VERSION_NUM > 0x070d01 /* 7.13.2 */ - if (d->features & CURL_VERSION_SSPI) { - n += sprintf(str + n, "%s", "SSPI is supported, "); - } + {"SSPI", CURL_VERSION_SSPI}, +#endif +#ifdef CURL_VERSION_KERBEROS4 + {"krb4", CURL_VERSION_KERBEROS4}, +#endif +#ifdef CURL_VERSION_LIBZ + {"libz", CURL_VERSION_LIBZ}, #endif #if LIBCURL_VERSION_NUM > 0x070f03 /* 7.15.4 */ - if (d->features & CURL_VERSION_CONV) { - n += sprintf(str + n, "%s", "character conversions are supported, "); - } + {"CharConv", CURL_VERSION_CONV}, #endif + NULL, 0 + }; - if (n > 3) { - str[n - 2] = '\0'; + php_info_print_table_row(1, "Features"); + for(i=0; i<sizeof(feats)/sizeof(feats[0]); i++) { + if (feats[i].name) { + php_info_print_table_row(2, feats[i].name, d->features & feats[i].bitmask ? "Yes" : "No"); + } + } } - php_info_print_table_row(2, "Features", str); + n = 0; p = (char **) d->protocols; while (*p != NULL) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php