pierrick                                 Wed, 14 Dec 2011 04:02:56 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=321002

Log:
Unregister appropriate curl wrappers

Changed paths:
    U   php/php-src/trunk/ext/curl/interface.c

Modified: php/php-src/trunk/ext/curl/interface.c
===================================================================
--- php/php-src/trunk/ext/curl/interface.c      2011-12-14 03:45:44 UTC (rev 
321001)
+++ php/php-src/trunk/ext/curl/interface.c      2011-12-14 04:02:56 UTC (rev 
321002)
@@ -1165,10 +1165,18 @@
 PHP_MSHUTDOWN_FUNCTION(curl)
 {
 #ifdef PHP_CURL_URL_WRAPPERS
-       php_unregister_url_stream_wrapper("http" TSRMLS_CC);
-       php_unregister_url_stream_wrapper("https" TSRMLS_CC);
-       php_unregister_url_stream_wrapper("ftp" TSRMLS_CC);
-       php_unregister_url_stream_wrapper("ldap" TSRMLS_CC);
+       {
+               curl_version_info_data *info = 
curl_version_info(CURLVERSION_NOW);
+               char **p = (char **)info->protocols;
+
+               while (*p != NULL) {
+                       /* Do not enable cURL "file" protocol and make sure 
cURL is always used when --with-curlwrappers is enabled */
+                       if (strncasecmp(*p, "file", sizeof("file")-1) != 0) {
+                               php_unregister_url_stream_wrapper(*p TSRMLS_CC);
+                       }
+                       (void) *p++;
+               }
+       }
 #endif
        curl_global_cleanup();
 #ifdef PHP_CURL_NEED_OPENSSL_TSL

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to