cvs: php4 /ext/standard browscap.c

From: Date: Tue, 25 Jul 2000 18:50:02 +0000
Subject: cvs: php4 /ext/standard browscap.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-916@lists.php.net to get a copy of this message
stas Tue Jul 25 11:50:02 2000 EDT Modified files: /php4/ext/standard browscap.c Log: Fix more bugs in browscap # now it shoudl work, but leaks like hell, so don't use it yet Index: php4/ext/standard/browscap.c diff -u php4/ext/standard/browscap.c:1.33 php4/ext/standard/browscap.c:1.34 --- php4/ext/standard/browscap.c:1.33 Tue Jul 25 01:09:00 2000 +++ php4/ext/standard/browscap.c Tue Jul 25 11:50:02 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: browscap.c,v 1.33 2000/07/25 08:09:00 stas Exp $ */ +/* $Id: browscap.c,v 1.34 2000/07/25 18:50:02 stas Exp $ */ #include "php.h" #include "php_regex.h" @@ -31,7 +31,7 @@ static int browser_reg_compare(zval **browser,int num_args, va_list args, zend_hash_key *key) { - zval *browser_name; + zval **browser_name; regex_t r; char *lookup_browser_name = va_arg(args,char *); zval **found_browser_entry = va_arg(args,zval **); @@ -43,10 +43,10 @@ return 0; } - if (!strchr(browser_name->value.str.val,'*')) { + if (!strchr((*browser_name)->value.str.val,'*')) { return 0; } - if (regcomp(&r,browser_name->value.str.val,REG_NOSUB)!=0) { + if (regcomp(&r,(*browser_name)->value.str.val,REG_NOSUB)!=0) { return 0; } if (regexec(&r,lookup_browser_name,0,NULL,0)==0) { @@ -93,7 +93,7 @@ zend_hash_apply_with_arguments(&browser_hash,(int (*)(void *, int, va_list, zend_hash_key *)) browser_reg_compare,2,lookup_browser_name,&found_browser_entry); if (found_browser_entry) { - *agent = found_browser_entry; + agent = &found_browser_entry; } else if (zend_hash_find(&browser_hash, DEFAULT_SECTION_NAME, sizeof(DEFAULT_SECTION_NAME), (void **) &agent)==FAILURE) { RETURN_FALSE; }

« previous php.cvs (#916) next »