wez             Sat Sep  7 16:58:30 2002 EDT

  Modified files:              
    /php4/ext/standard  file.c http_fopen_wrapper.c 
    /php4/main  php_streams.h streams.c 
  Log:
  Fix a couple of bad pointer indirections (oops).
  Lets stick to a single category of "http" for the "user_agent"
  context override.
  
  
Index: php4/ext/standard/file.c
diff -u php4/ext/standard/file.c:1.252 php4/ext/standard/file.c:1.253
--- php4/ext/standard/file.c:1.252      Sat Sep  7 11:45:29 2002
+++ php4/ext/standard/file.c    Sat Sep  7 16:58:30 2002
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: file.c,v 1.252 2002/09/07 15:45:29 sterling Exp $ */
+/* $Id: file.c,v 1.253 2002/09/07 20:58:30 wez Exp $ */
 
 /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
 
@@ -732,6 +732,7 @@
        array_init(return_value);
        *return_value = *context->options;
        zval_copy_ctor(return_value);
+               
 }
 /* }}} */
 
@@ -766,7 +767,6 @@
                php_stream_context_set_option(context, wrappername, optionname, 
zvalue);
                RETVAL_TRUE;
        }
-       
 }
 /* }}} */
 
@@ -867,8 +867,7 @@
                RETURN_FALSE;
        }
        if (zcontext) {
-               context = (php_stream_context*)zend_fetch_resource(&zcontext 
TSRMLS_CC, -1, "Stream-Context", NULL, 1, le_stream_context);
-               ZEND_VERIFY_RESOURCE(context);
+               ZEND_FETCH_RESOURCE(context, php_stream_context*, &zcontext, -1, 
+"stream-context", le_stream_context);
        }
        
        stream = php_stream_open_wrapper_ex(filename, mode,
Index: php4/ext/standard/http_fopen_wrapper.c
diff -u php4/ext/standard/http_fopen_wrapper.c:1.44 
php4/ext/standard/http_fopen_wrapper.c:1.45
--- php4/ext/standard/http_fopen_wrapper.c:1.44 Sat Sep  7 11:55:04 2002
+++ php4/ext/standard/http_fopen_wrapper.c      Sat Sep  7 16:58:30 2002
@@ -18,7 +18,7 @@
    |          Wez Furlong <[EMAIL PROTECTED]>                          |
    +----------------------------------------------------------------------+
  */
-/* $Id: http_fopen_wrapper.c,v 1.44 2002/09/07 15:55:04 sterling Exp $ */ 
+/* $Id: http_fopen_wrapper.c,v 1.45 2002/09/07 20:58:30 wez Exp $ */ 
 
 #include "php.h"
 #include "php_globals.h"
@@ -91,7 +91,7 @@
        char *scratch = NULL;
        char *tmp = NULL;
        char *ua_str = NULL;
-       zval **ua_zval;
+       zval **ua_zval = NULL;
        int scratch_len = 0;
        int body = 0;
        char location[HTTP_HEADER_BLOCK_SIZE];
@@ -201,8 +201,7 @@
                php_stream_write(stream, scratch, strlen(scratch));
 
        if (context && 
-           php_stream_context_get_option(context, "http", "user_agent", (zval **) 
&ua_zval) == FAILURE &&
-           php_stream_context_get_option(context, "https", "user_agent", (zval **) 
&ua_zval) == FAILURE) {
+           php_stream_context_get_option(context, "http", "user_agent", &ua_zval) == 
+SUCCESS) {
                ua_str = Z_STRVAL_PP(ua_zval);
        } else if (BG(user_agent)) {
                ua_str = BG(user_agent);
Index: php4/main/php_streams.h
diff -u php4/main/php_streams.h:1.42 php4/main/php_streams.h:1.43
--- php4/main/php_streams.h:1.42        Thu Sep  5 10:25:07 2002
+++ php4/main/php_streams.h     Sat Sep  7 16:58:30 2002
@@ -490,7 +490,7 @@
 PHPAPI void php_stream_context_free(php_stream_context *context);
 PHPAPI php_stream_context *php_stream_context_alloc(void);
 PHPAPI int php_stream_context_get_option(php_stream_context *context,
-               const char *wrappername, const char *optionname, zval **optionvalue);
+               const char *wrappername, const char *optionname, zval ***optionvalue);
 PHPAPI int php_stream_context_set_option(php_stream_context *context,
                const char *wrappername, const char *optionname, zval *optionvalue);
 
Index: php4/main/streams.c
diff -u php4/main/streams.c:1.73 php4/main/streams.c:1.74
--- php4/main/streams.c:1.73    Sun Aug 25 08:10:17 2002
+++ php4/main/streams.c Sat Sep  7 16:58:30 2002
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: streams.c,v 1.73 2002/08/25 12:10:17 wez Exp $ */
+/* $Id: streams.c,v 1.74 2002/09/07 20:58:30 wez Exp $ */
 
 #define _GNU_SOURCE
 #include "php.h"
@@ -1829,29 +1829,30 @@
 }
 
 PHPAPI int php_stream_context_get_option(php_stream_context *context,
-               const char *wrappername, const char *optionname, zval **optionvalue)
+               const char *wrappername, const char *optionname, zval ***optionvalue)
 {
        zval **wrapperhash;
        
        if (FAILURE == zend_hash_find(Z_ARRVAL_P(context->options), 
(char*)wrappername, strlen(wrappername)+1, (void**)&wrapperhash))
                return FAILURE;
-
-       return zend_hash_find(Z_ARRVAL_PP(wrapperhash), (char*)optionname, 
strlen(optionname)+1, (void**)&optionvalue);
+       return zend_hash_find(Z_ARRVAL_PP(wrapperhash), (char*)optionname, 
+strlen(optionname)+1, (void**)optionvalue);
 }
 
 PHPAPI int php_stream_context_set_option(php_stream_context *context,
                const char *wrappername, const char *optionname, zval *optionvalue)
 {
        zval **wrapperhash;
+       zval *category;
 
        if (FAILURE == zend_hash_find(Z_ARRVAL_P(context->options), 
(char*)wrappername, strlen(wrappername)+1, (void**)&wrapperhash)) {
                
-               MAKE_STD_ZVAL(*wrapperhash);
-               array_init(*wrapperhash);
-               if (FAILURE == zend_hash_update(Z_ARRVAL_P(context->options), 
(char*)wrappername, strlen(wrappername)+1, (void**)wrapperhash, sizeof(zval *), NULL))
+               MAKE_STD_ZVAL(category);
+               array_init(category);
+               if (FAILURE == zend_hash_update(Z_ARRVAL_P(context->options), 
+(char*)wrappername, strlen(wrappername)+1, (void**)&category, sizeof(zval *), NULL))
                        return FAILURE;
 
                ZVAL_ADDREF(optionvalue);
+               wrapperhash = &category;
        }
        return zend_hash_update(Z_ARRVAL_PP(wrapperhash), (char*)optionname, 
strlen(optionname)+1, (void**)&optionvalue, sizeof(zval *), NULL);
 }



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

Reply via email to