cvs: php4 /ext/standard browscap.c
| From: | Stanislav Malyshev | Date: | Wed, 26 Jul 2000 11:21:04 +0000 |
| Subject: | cvs: php4 /ext/standard browscap.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-937@lists.php.net to get a copy of this message | ||
stas Wed Jul 26 04:21:04 2000 EDT
Modified files:
/php4/ext/standard browscap.c
Log:
Make proper object initialization
Index: php4/ext/standard/browscap.c
diff -u php4/ext/standard/browscap.c:1.34 php4/ext/standard/browscap.c:1.35
--- php4/ext/standard/browscap.c:1.34 Tue Jul 25 11:50:02 2000
+++ php4/ext/standard/browscap.c Wed Jul 26 04:21:03 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: browscap.c,v 1.34 2000/07/25 18:50:02 stas Exp $ */
+/* $Id: browscap.c,v 1.35 2000/07/26 11:21:03 stas Exp $ */
#include "php.h"
#include "php_regex.h"
@@ -61,7 +61,7 @@
PHP_FUNCTION(get_browser)
{
zval **agent_name,**agent;
- zval *found_browser_entry;
+ zval *found_browser_entry,*tmp_copy;
char *lookup_browser_name;
if (!INI_STR("browscap")) {
@@ -99,17 +99,15 @@
}
}
- *return_value = **agent;
- return_value->type = IS_OBJECT;
- zval_copy_ctor(return_value);
- return_value->value.obj.properties->pDestructor = ZVAL_DESTRUCTOR;
-
+ object_init(return_value);
+ zend_hash_copy(return_value->value.obj.properties,(*agent)->value.obj.properties,
(copy_ctor_func_t) zval_add_ref, (void *) &tmp_copy, sizeof(zval *));
+
while (zend_hash_find((*agent)->value.obj.properties,
"parent",sizeof("parent"), (void **) &agent_name)==SUCCESS) {
- zval *tmp_copy;
if (zend_hash_find(&browser_hash,(*agent_name)->value.str.val,
(*agent_name)->value.str.len+1, (void **)&agent)==FAILURE) {
break;
}
+
zend_hash_merge(return_value->value.obj.properties,(*agent)->value.obj.properties,
(copy_ctor_func_t) zval_add_ref, (void *) &tmp_copy, sizeof(zval *), 0);
}
}