[prev in list] [next in list] [prev in thread] [next in thread]
List: php-cvs
Subject: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/date php_date.c php_date.h
From: "Stanislav Malyshev" <stas () php ! net>
Date: 2009-05-31 20:43:57
Message-ID: cvsstas1243802637 () cvsserver
[Download RAW message or body]
stas Sun May 31 20:43:57 2009 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/date php_date.c php_date.h
Log:
fix for #48247
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.43.2.45.2.69&r2=1.43.2.45.2.70&diff_format=u
Index: php-src/ext/date/php_date.c
diff -u php-src/ext/date/php_date.c:1.43.2.45.2.69 \
php-src/ext/date/php_date.c:1.43.2.45.2.70
--- php-src/ext/date/php_date.c:1.43.2.45.2.69 Tue May 19 15:37:38 2009
+++ php-src/ext/date/php_date.c Sun May 31 20:43:57 2009
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_date.c,v 1.43.2.45.2.69 2009/05/19 15:37:38 jani Exp $ */
+/* $Id: php_date.c,v 1.43.2.45.2.70 2009/05/31 20:43:57 stas Exp $ */
#include "php.h"
#include "php_streams.h"
@@ -343,6 +343,7 @@
{
date_globals->default_timezone = NULL;
date_globals->timezone = NULL;
+ date_globals->tzcache = NULL;
}
/* }}} */
@@ -361,7 +362,7 @@
efree(DATEG(timezone));
}
DATEG(timezone) = NULL;
- zend_hash_init(&DATEG(tzcache), 4, NULL, _php_date_tzinfo_dtor, 0);
+ DATEG(tzcache) = NULL;
return SUCCESS;
}
@@ -374,8 +375,11 @@
efree(DATEG(timezone));
}
DATEG(timezone) = NULL;
- zend_hash_destroy(&DATEG(tzcache));
-
+ if(DATEG(tzcache)) {
+ zend_hash_destroy(DATEG(tzcache));
+ FREE_HASHTABLE(DATEG(tzcache));
+ DATEG(tzcache) = NULL;
+ }
return SUCCESS;
}
/* }}} */
@@ -552,13 +556,18 @@
{
timelib_tzinfo *tzi, **ptzi;
- if (zend_hash_find(&DATEG(tzcache), formal_tzname, strlen(formal_tzname) + 1, (void \
**) &ptzi) == SUCCESS) { + if(!DATEG(tzcache)) {
+ ALLOC_HASHTABLE(DATEG(tzcache));
+ zend_hash_init(DATEG(tzcache), 4, NULL, _php_date_tzinfo_dtor, 0);
+ }
+
+ if (zend_hash_find(DATEG(tzcache), formal_tzname, strlen(formal_tzname) + 1, (void \
**) &ptzi) == SUCCESS) { return *ptzi;
}
tzi = timelib_parse_tzfile(formal_tzname, tzdb);
if (tzi) {
- zend_hash_add(&DATEG(tzcache), formal_tzname, strlen(formal_tzname) + 1, (void *) \
&tzi, sizeof(timelib_tzinfo*), NULL); + zend_hash_add(DATEG(tzcache), formal_tzname, \
strlen(formal_tzname) + 1, (void *) &tzi, sizeof(timelib_tzinfo*), NULL); }
return tzi;
}
@@ -654,7 +663,7 @@
{
char *tz;
timelib_tzinfo *tzi;
-
+
tz = guess_timezone(DATE_TIMEZONEDB TSRMLS_CC);
tzi = php_date_parse_tzfile(tz, DATE_TIMEZONEDB TSRMLS_CC);
if (! tzi) {
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.h?r1=1.17.2.11.2.5&r2=1.17.2.11.2.6&diff_format=u
Index: php-src/ext/date/php_date.h
diff -u php-src/ext/date/php_date.h:1.17.2.11.2.5 \
php-src/ext/date/php_date.h:1.17.2.11.2.6
--- php-src/ext/date/php_date.h:1.17.2.11.2.5 Wed Dec 31 11:17:36 2008
+++ php-src/ext/date/php_date.h Sun May 31 20:43:57 2009
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_date.h,v 1.17.2.11.2.5 2008/12/31 11:17:36 sebastian Exp $ */
+/* $Id: php_date.h,v 1.17.2.11.2.6 2009/05/31 20:43:57 stas Exp $ */
#ifndef PHP_DATE_H
#define PHP_DATE_H
@@ -87,7 +87,7 @@
ZEND_BEGIN_MODULE_GLOBALS(date)
char *default_timezone;
char *timezone;
- HashTable tzcache;
+ HashTable *tzcache;
ZEND_END_MODULE_GLOBALS(date)
#ifdef ZTS
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic