[PHP-CVS-DAILY] cvs: ZendEngine2 / ChangeLog
changelog Wed Apr 4 01:31:04 2007 UTC Modified files: /ZendEngine2ChangeLog Log: ChangeLog update http://cvs.php.net/viewvc.cgi/ZendEngine2/ChangeLog?r1=1.1087r2=1.1088diff_format=u Index: ZendEngine2/ChangeLog diff -u ZendEngine2/ChangeLog:1.1087 ZendEngine2/ChangeLog:1.1088 --- ZendEngine2/ChangeLog:1.1087Mon Mar 26 01:31:00 2007 +++ ZendEngine2/ChangeLog Wed Apr 4 01:31:03 2007 @@ -1,3 +1,10 @@ +2007-04-03 Dmitry Stogov [EMAIL PROTECTED] + +* zend_compile.c + zend_vm_def.h + zend_vm_execute.h: + Removed undocumnted and incomplete support for strings in list() operator + 2007-03-25 Hannes Magnusson [EMAIL PROTECTED] * (PHP_5_2) @@ -17191,7 +17198,7 @@ 2003-06-10 Jani Taskinen [EMAIL PROTECTED] * zend_multiply.h: - - Missing $Id: ChangeLog,v 1.1087 2007/03/26 01:31:00 changelog Exp $ tag + - Missing $Id: ChangeLog,v 1.1088 2007/04/04 01:31:03 changelog Exp $ tag 2003-06-10 James Cox [EMAIL PROTECTED] @@ -18915,7 +18922,7 @@ zend_types.h zend_variables.c zend_variables.h: - - Added some missing CVS $Id: ChangeLog,v 1.1087 2007/03/26 01:31:00 changelog Exp $ tags, headers and footers. + - Added some missing CVS $Id: ChangeLog,v 1.1088 2007/04/04 01:31:03 changelog Exp $ tags, headers and footers. 2003-01-30 Ilia Alshanetsky [EMAIL PROTECTED]
[PHP-CVS] cvs: php-src / NEWS
sebastian Tue Apr 3 06:56:39 2007 UTC Modified files: /php-srcNEWS Log: Fugbix typo. http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2143r2=1.2144diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2143 php-src/NEWS:1.2144 --- php-src/NEWS:1.2143 Tue Apr 3 06:32:59 2007 +++ php-src/NEWSTue Apr 3 06:56:39 2007 @@ -13,7 +13,7 @@ - Changed allow_url_fopen/allow_url_include to allow per-wrapper enable/disable and runtime tightening. (Sara) -- Removed undocumnted and incomplete support for strings in list() operator. +- Removed undocumented and incomplete support for strings in list() operator. (Dmitry) - Removed old legacy: . register_globals support. (Pierre) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/dom php_dom.c
rrichards Tue Apr 3 11:57:04 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/domphp_dom.c Log: allow registered classes to be changed http://cvs.php.net/viewvc.cgi/php-src/ext/dom/php_dom.c?r1=1.73.2.12.2.9r2=1.73.2.12.2.10diff_format=u Index: php-src/ext/dom/php_dom.c diff -u php-src/ext/dom/php_dom.c:1.73.2.12.2.9 php-src/ext/dom/php_dom.c:1.73.2.12.2.10 --- php-src/ext/dom/php_dom.c:1.73.2.12.2.9 Mon Jan 1 09:36:00 2007 +++ php-src/ext/dom/php_dom.c Tue Apr 3 11:57:04 2007 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_dom.c,v 1.73.2.12.2.9 2007/01/01 09:36:00 sebastian Exp $ */ +/* $Id: php_dom.c,v 1.73.2.12.2.10 2007/04/03 11:57:04 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -184,7 +184,7 @@ zend_hash_init(doc_props-classmap, 0, NULL, NULL, 0); } if (ce) { - return zend_hash_add(doc_props-classmap, basece-name, basece-name_length + 1, ce, sizeof(ce), NULL); + return zend_hash_update(doc_props-classmap, basece-name, basece-name_length + 1, ce, sizeof(ce), NULL); } else { return zend_hash_del(doc_props-classmap, basece-name, basece-name_length + 1); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/dom php_dom.c
rrichards Tue Apr 3 11:58:24 2007 UTC Modified files: /php-src/ext/domphp_dom.c Log: MFB: allow registered classes to be changed http://cvs.php.net/viewvc.cgi/php-src/ext/dom/php_dom.c?r1=1.102r2=1.103diff_format=u Index: php-src/ext/dom/php_dom.c diff -u php-src/ext/dom/php_dom.c:1.102 php-src/ext/dom/php_dom.c:1.103 --- php-src/ext/dom/php_dom.c:1.102 Mon Jan 1 09:29:23 2007 +++ php-src/ext/dom/php_dom.c Tue Apr 3 11:58:24 2007 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_dom.c,v 1.102 2007/01/01 09:29:23 sebastian Exp $ */ +/* $Id: php_dom.c,v 1.103 2007/04/03 11:58:24 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -160,7 +160,7 @@ zend_u_hash_init(doc_props-classmap, 0, NULL, NULL, 0, UG(unicode)); } if (ce) { - return zend_u_hash_add(doc_props-classmap, UG(unicode)?IS_UNICODE:IS_STRING, basece-name, basece-name_length + 1, ce, sizeof(ce), NULL); + return zend_u_hash_update(doc_props-classmap, UG(unicode)?IS_UNICODE:IS_STRING, basece-name, basece-name_length + 1, ce, sizeof(ce), NULL); } else { return zend_u_hash_del(doc_props-classmap, UG(unicode)?IS_UNICODE:IS_STRING, basece-name, basece-name_length + 1); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard pack.c /ext/standard/tests/strings pack.phpt
shire Tue Apr 3 19:50:40 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/standard pack.c /php-src/ext/standard/tests/strings pack.phpt Log: correction for previous fix to bug #38770 (pack/unpack is broken on 64bit) fix pack test, correct space to tabs http://cvs.php.net/viewvc.cgi/php-src/ext/standard/pack.c?r1=1.57.2.5.2.3r2=1.57.2.5.2.4diff_format=u Index: php-src/ext/standard/pack.c diff -u php-src/ext/standard/pack.c:1.57.2.5.2.3 php-src/ext/standard/pack.c:1.57.2.5.2.4 --- php-src/ext/standard/pack.c:1.57.2.5.2.3Sat Feb 24 02:17:27 2007 +++ php-src/ext/standard/pack.c Tue Apr 3 19:50:40 2007 @@ -15,7 +15,7 @@ | Author: Chris Schneider [EMAIL PROTECTED] | +--+ */ -/* $Id: pack.c,v 1.57.2.5.2.3 2007/02/24 02:17:27 helly Exp $ */ +/* $Id: pack.c,v 1.57.2.5.2.4 2007/04/03 19:50:40 shire Exp $ */ #include php.h @@ -760,7 +760,7 @@ issigned = input[inputpos + (machine_little_endian ? (sizeof(int) - 1) : 0)] 0x80; } else if (sizeof(long) 4 (input[inputpos + machine_endian_long_map[3]] 0x80) == 0x80) { v = ~INT_MAX; -} + } v |= php_unpack(input[inputpos], sizeof(int), issigned, int_map); add_assoc_long(return_value, n, v); @@ -775,15 +775,17 @@ int *map = machine_endian_long_map; long v = 0; - if (type == 'l') { + if (type == 'l' || type == 'L') { issigned = input[inputpos + (machine_little_endian ? 3 : 0)] 0x80; } else if (type == 'N') { + issigned = input[inputpos] 0x80; map = big_endian_long_map; } else if (type == 'V') { + issigned = input[inputpos + 3] 0x80; map = little_endian_long_map; } - if (sizeof(long) 4 (input[inputpos + machine_endian_long_map[3]] 0x80) == 0x80) { + if (sizeof(long) 4 issigned) { v = ~INT_MAX; } http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/pack.phpt?r1=1.1.2.2r2=1.1.2.3diff_format=u Index: php-src/ext/standard/tests/strings/pack.phpt diff -u php-src/ext/standard/tests/strings/pack.phpt:1.1.2.2 php-src/ext/standard/tests/strings/pack.phpt:1.1.2.3 --- php-src/ext/standard/tests/strings/pack.phpt:1.1.2.2Sat Dec 30 02:00:51 2006 +++ php-src/ext/standard/tests/strings/pack.phptTue Apr 3 19:50:40 2007 @@ -145,7 +145,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( @@ -185,7 +185,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( @@ -233,7 +233,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( @@ -305,7 +305,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard pack.c /ext/standard/tests/strings pack.phpt
shire Tue Apr 3 19:50:43 2007 UTC Modified files: /php-src/ext/standard pack.c /php-src/ext/standard/tests/strings pack.phpt Log: MFB: correction for previous fix to bug #38770 (pack/unpack is broken on 64bit) fix pack test, correct space to tabs http://cvs.php.net/viewvc.cgi/php-src/ext/standard/pack.c?r1=1.66r2=1.67diff_format=u Index: php-src/ext/standard/pack.c diff -u php-src/ext/standard/pack.c:1.66 php-src/ext/standard/pack.c:1.67 --- php-src/ext/standard/pack.c:1.66Sat Feb 24 16:25:55 2007 +++ php-src/ext/standard/pack.c Tue Apr 3 19:50:43 2007 @@ -15,7 +15,7 @@ | Author: Chris Schneider [EMAIL PROTECTED] | +--+ */ -/* $Id: pack.c,v 1.66 2007/02/24 16:25:55 helly Exp $ */ +/* $Id: pack.c,v 1.67 2007/04/03 19:50:43 shire Exp $ */ #include php.h @@ -738,7 +738,7 @@ issigned = input[inputpos + (machine_little_endian ? (sizeof(int) - 1) : 0)] 0x80; } else if (sizeof(long) 4 (input[inputpos + machine_endian_long_map[3]] 0x80) == 0x80) { v = ~INT_MAX; -} + } v |= php_unpack(input[inputpos], sizeof(int), issigned, int_map); add_assoc_long(return_value, n, v); @@ -753,15 +753,17 @@ int *map = machine_endian_long_map; long v = 0; - if (type == 'l') { + if (type == 'l' || type == 'L') { issigned = input[inputpos + (machine_little_endian ? 3 : 0)] 0x80; } else if (type == 'N') { + issigned = input[inputpos] 0x80; map = big_endian_long_map; } else if (type == 'V') { + issigned = input[inputpos + 3] 0x80; map = little_endian_long_map; } - if (sizeof(long) 4 (input[inputpos + machine_endian_long_map[3]] 0x80) == 0x80) { + if (sizeof(long) 4 issigned) { v = ~INT_MAX; } http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/pack.phpt?r1=1.3r2=1.4diff_format=u Index: php-src/ext/standard/tests/strings/pack.phpt diff -u php-src/ext/standard/tests/strings/pack.phpt:1.3 php-src/ext/standard/tests/strings/pack.phpt:1.4 --- php-src/ext/standard/tests/strings/pack.phpt:1.3Sat Dec 30 02:01:09 2006 +++ php-src/ext/standard/tests/strings/pack.phptTue Apr 3 19:50:43 2007 @@ -145,7 +145,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( @@ -185,7 +185,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( @@ -233,7 +233,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( @@ -305,7 +305,7 @@ ) Array ( -[1] = 0 +[1] = -1 ) Array ( -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS
tony2001Tue Apr 3 20:21:20 2007 UTC Modified files: (Branch: PHP_5_2) /php-srcNEWS Log: BFN http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.622r2=1.2027.2.547.2.623diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.622 php-src/NEWS:1.2027.2.547.2.623 --- php-src/NEWS:1.2027.2.547.2.622 Mon Apr 2 21:35:46 2007 +++ php-src/NEWSTue Apr 3 20:21:20 2007 @@ -126,6 +126,7 @@ - Fixed bug #39836 (SplObjectStorage empty after unserialize). (Marcus) - Fixed bug #39396 (stream_set_blocking crashes on Win32). (Ilia, maurice at iceblog dot de) +- Fixed bug #39351 (relative include fails on Solaris). (Dmitry, Tony) - Fixed bug #39322 (proc_terminate() destroys process resource). (Nuno) - Fixed bug #38406 (crash when assigning objects to SimpleXML attributes). (Tony) - Fixed bug #37799 (ftp_ssl_connect() falls back to non-ssl connection). (Nuno) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/gd/libgd gd_topal.c
pajoye Wed Apr 4 00:30:19 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/gd/libgd gd_topal.c Log: . colors allocated henceforth from the resulting image overwrite the palette colors (sync with 2.0.34) (Rob Leslie) http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd_topal.c?r1=1.17.2.1r2=1.17.2.1.2.1diff_format=u Index: php-src/ext/gd/libgd/gd_topal.c diff -u php-src/ext/gd/libgd/gd_topal.c:1.17.2.1 php-src/ext/gd/libgd/gd_topal.c:1.17.2.1.2.1 --- php-src/ext/gd/libgd/gd_topal.c:1.17.2.1Sun Dec 25 19:39:53 2005 +++ php-src/ext/gd/libgd/gd_topal.c Wed Apr 4 00:30:18 2007 @@ -772,6 +772,7 @@ nim-green[icolor] = 255; nim-blue[icolor] = 255; } + nim-open[icolor] = 0; #endif } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/gd gd.c /ext/gd/libgd gd.h gdft.c
pajoye Wed Apr 4 00:44:38 2007 UTC Modified files: /php-src/ext/gd gd.c /php-src/ext/gd/libgd gd.h gdft.c Log: - remove double lock (tween colors cache is created in each thread, the cache mutex is already locked earlier) - #40858, other TS improvements for gd freetype cache management cache initialization and shutdown is now done in MINIT and MSHUTDOWN. http://cvs.php.net/viewvc.cgi/php-src/ext/gd/gd.c?r1=1.366r2=1.367diff_format=u Index: php-src/ext/gd/gd.c diff -u php-src/ext/gd/gd.c:1.366 php-src/ext/gd/gd.c:1.367 --- php-src/ext/gd/gd.c:1.366 Sun Feb 11 11:13:40 2007 +++ php-src/ext/gd/gd.c Wed Apr 4 00:44:38 2007 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: gd.c,v 1.366 2007/02/11 11:13:40 pajoye Exp $ */ +/* $Id: gd.c,v 1.367 2007/04/04 00:44:38 pajoye Exp $ */ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center, Cold Spring Harbor Labs. */ @@ -1078,11 +1078,7 @@ gd, gd_functions, PHP_MINIT(gd), -#if HAVE_LIBT1 PHP_MSHUTDOWN(gd), -#else - NULL, -#endif NULL, #if HAVE_GD_STRINGFT (HAVE_GD_FONTCACHESHUTDOWN || HAVE_GD_FREEFONTCACHE) PHP_RSHUTDOWN(gd), @@ -1126,16 +1122,20 @@ } /* }}} */ -#if HAVE_LIBT1 + /* {{{ PHP_MSHUTDOWN_FUNCTION */ PHP_MSHUTDOWN_FUNCTION(gd) { +#if HAVE_LIBT1 T1_CloseLib(); +#endif +#if HAVE_GD_FONTMUTEX + gdFontCacheMutexShutdown(); +#endif return SUCCESS; } /* }}} */ -#endif /* {{{ PHP_MINIT_FUNCTION @@ -1144,6 +1144,9 @@ { le_gd = zend_register_list_destructors_ex(php_free_gd_image, NULL, gd, module_number); le_gd_font = zend_register_list_destructors_ex(php_free_gd_font, NULL, gd font, module_number); +#if HAVE_GD_FONTMUTEX + gdFontCacheMutexSetup(); +#endif #if HAVE_LIBT1 T1_SetBitmapPad(8); T1_InitLib(NO_LOGFILE | IGNORE_CONFIGFILE | IGNORE_FONTDATABASE); http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd.h?r1=1.30r2=1.31diff_format=u Index: php-src/ext/gd/libgd/gd.h diff -u php-src/ext/gd/libgd/gd.h:1.30 php-src/ext/gd/libgd/gd.h:1.31 --- php-src/ext/gd/libgd/gd.h:1.30 Sat Sep 16 19:08:21 2006 +++ php-src/ext/gd/libgd/gd.h Wed Apr 4 00:44:38 2007 @@ -297,6 +297,14 @@ void gdImageString16(gdImagePtr im, gdFontPtr f, int x, int y, unsigned short *s, int color); void gdImageStringUp16(gdImagePtr im, gdFontPtr f, int x, int y, unsigned short *s, int color); +/* + * The following functions are required to be called prior to the + * use of any sort of threads in a module load / shutdown function + * respectively. + */ +void gdFontCacheMutexSetup(); +void gdFontCacheMutexShutdown(); + /* 2.0.16: for thread-safe use of gdImageStringFT and friends, * call this before allowing any thread to call gdImageStringFT. * Otherwise it is invoked by the first thread to invoke http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gdft.c?r1=1.42r2=1.43diff_format=u Index: php-src/ext/gd/libgd/gdft.c diff -u php-src/ext/gd/libgd/gdft.c:1.42 php-src/ext/gd/libgd/gdft.c:1.43 --- php-src/ext/gd/libgd/gdft.c:1.42Thu Mar 1 18:41:45 2007 +++ php-src/ext/gd/libgd/gdft.c Wed Apr 4 00:44:38 2007 @@ -698,10 +698,8 @@ } else { /* find antialised color */ tc_key.bgcolor = *pixel; - gdMutexLock(gdFontCacheMutex); tc_elem = (tweencolor_t *) gdCacheGet(tc_cache, tc_key); *pixel = tc_elem-tweencolor; - gdMutexUnlock(gdFontCacheMutex); } } } @@ -722,7 +720,6 @@ gdCacheDelete(fontCache); fontCache = NULL; gdMutexUnlock(gdFontCacheMutex); - gdMutexShutdown(gdFontCacheMutex); FT_Done_FreeType(library); } } @@ -732,15 +729,23 @@ gdFontCacheShutdown(); } +void gdFontCacheMutexSetup() +{ + gdMutexSetup(gdFontCacheMutex); +} + +void gdFontCacheMutexShutdown() +{ + gdMutexShutdown(gdFontCacheMutex); +} + int gdFontCacheSetup(void) { if (fontCache) { /* Already set up */ return 0; } - gdMutexSetup(gdFontCacheMutex); if (FT_Init_FreeType(library)) { - gdMutexShutdown(gdFontCacheMutex); return -1; } fontCache = gdCacheCreate (FONTCACHESIZE, fontTest, fontFetch, fontRelease); @@ -803,15 +808,16 @@ /* initialize font library and font cache on first call **/ + gdMutexLock(gdFontCacheMutex); if (!fontCache) { if (gdFontCacheSetup() != 0) { gdCacheDelete(tc_cache); +
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/gd config.m4 gd.c php_gd.h /ext/gd/libgd gd.h gdft.c
pajoye Wed Apr 4 00:47:55 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/gd config.m4 gd.c php_gd.h /php-src/ext/gd/libgd gd.h gdft.c Log: - MFH: - remove double lock (tween colors cache is created in each thread, the cache mutex is already locked earlier) - #40858, other TS improvements for gd freetype cache management cache initialization and shutdown is now done in MINIT and MSHUTDOWN. http://cvs.php.net/viewvc.cgi/php-src/ext/gd/config.m4?r1=1.154.2.1.2.2r2=1.154.2.1.2.3diff_format=u Index: php-src/ext/gd/config.m4 diff -u php-src/ext/gd/config.m4:1.154.2.1.2.2 php-src/ext/gd/config.m4:1.154.2.1.2.3 --- php-src/ext/gd/config.m4:1.154.2.1.2.2 Sat Mar 10 12:18:36 2007 +++ php-src/ext/gd/config.m4Wed Apr 4 00:47:55 2007 @@ -1,5 +1,5 @@ dnl -dnl $Id: config.m4,v 1.154.2.1.2.2 2007/03/10 12:18:36 pajoye Exp $ +dnl $Id: config.m4,v 1.154.2.1.2.3 2007/04/04 00:47:55 pajoye Exp $ dnl dnl @@ -284,6 +284,7 @@ PHP_CHECK_LIBRARY(gd, gdCacheCreate, [AC_DEFINE(HAVE_GD_CACHE_CREATE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_FONTCACHESHUTDOWN,1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) PHP_CHECK_LIBRARY(gd, gdFreeFontCache, [AC_DEFINE(HAVE_GD_FREEFONTCACHE,1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) + PHP_CHECK_LIBRARY(gd, gdFontCacheMutexSetup, [AC_DEFINE(HAVE_GD_FONTMUTEX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) PHP_CHECK_LIBRARY(gd, gdNewDynamicCtxEx, [AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) ]) @@ -336,6 +337,7 @@ AC_DEFINE(HAVE_GD_GIF_CREATE, 1, [ ]) AC_DEFINE(HAVE_GD_IMAGEELLIPSE, 1, [ ]) AC_DEFINE(HAVE_GD_FONTCACHESHUTDOWN,1, [ ]) + AC_DEFINE(HAVE_GD_FONTMUTEX,1, [ ]) AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ]) AC_DEFINE(HAVE_GD_GIF_CTX, 1, [ ]) http://cvs.php.net/viewvc.cgi/php-src/ext/gd/gd.c?r1=1.312.2.20.2.15r2=1.312.2.20.2.16diff_format=u Index: php-src/ext/gd/gd.c diff -u php-src/ext/gd/gd.c:1.312.2.20.2.15 php-src/ext/gd/gd.c:1.312.2.20.2.16 --- php-src/ext/gd/gd.c:1.312.2.20.2.15 Sun Feb 11 11:11:48 2007 +++ php-src/ext/gd/gd.c Wed Apr 4 00:47:55 2007 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: gd.c,v 1.312.2.20.2.15 2007/02/11 11:11:48 pajoye Exp $ */ +/* $Id: gd.c,v 1.312.2.20.2.16 2007/04/04 00:47:55 pajoye Exp $ */ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center, Cold Spring Harbor Labs. */ @@ -1147,11 +1147,7 @@ gd, gd_functions, PHP_MINIT(gd), -#if HAVE_LIBT1 PHP_MSHUTDOWN(gd), -#else - NULL, -#endif NULL, #if HAVE_LIBGD20 HAVE_GD_STRINGFT (HAVE_GD_FONTCACHESHUTDOWN || HAVE_GD_FREEFONTCACHE) PHP_RSHUTDOWN(gd), @@ -1195,16 +1191,20 @@ } /* }}} */ -#if HAVE_LIBT1 + /* {{{ PHP_MSHUTDOWN_FUNCTION */ PHP_MSHUTDOWN_FUNCTION(gd) { +#if HAVE_LIBT1 T1_CloseLib(); +#endif +#if HAVE_GD_FONTMUTEX + gdFontCacheMutexShutdown(); +#endif return SUCCESS; } /* }}} */ -#endif /* {{{ PHP_MINIT_FUNCTION @@ -1213,6 +1213,9 @@ { le_gd = zend_register_list_destructors_ex(php_free_gd_image, NULL, gd, module_number); le_gd_font = zend_register_list_destructors_ex(php_free_gd_font, NULL, gd font, module_number); +#if HAVE_GD_FONTMUTEX + gdFontCacheMutexSetup(); +#endif #if HAVE_LIBT1 T1_SetBitmapPad(8); T1_InitLib(NO_LOGFILE | IGNORE_CONFIGFILE | IGNORE_FONTDATABASE); http://cvs.php.net/viewvc.cgi/php-src/ext/gd/php_gd.h?r1=1.59.2.3.2.2r2=1.59.2.3.2.3diff_format=u Index: php-src/ext/gd/php_gd.h diff -u php-src/ext/gd/php_gd.h:1.59.2.3.2.2 php-src/ext/gd/php_gd.h:1.59.2.3.2.3 --- php-src/ext/gd/php_gd.h:1.59.2.3.2.2Mon Jan 8 22:52:22 2007 +++ php-src/ext/gd/php_gd.h Wed Apr 4 00:47:55 2007 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: php_gd.h,v 1.59.2.3.2.2 2007/01/08 22:52:22 nlopess Exp $ */ +/* $Id: php_gd.h,v 1.59.2.3.2.3 2007/04/04 00:47:55 pajoye Exp $ */ #ifndef PHP_GD_H #define PHP_GD_H @@ -66,9 +66,7 @@ /* gd.c functions */ PHP_MINFO_FUNCTION(gd); PHP_MINIT_FUNCTION(gd); -#if HAVE_LIBT1 PHP_MSHUTDOWN_FUNCTION(gd); -#endif #if HAVE_LIBGD20 HAVE_GD_STRINGFT PHP_RSHUTDOWN_FUNCTION(gd); #endif http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd.h?r1=1.26.2.3.2.2r2=1.26.2.3.2.3diff_format=u Index: php-src/ext/gd/libgd/gd.h diff -u php-src/ext/gd/libgd/gd.h:1.26.2.3.2.2 php-src/ext/gd/libgd/gd.h:1.26.2.3.2.3 --- php-src/ext/gd/libgd/gd.h:1.26.2.3.2.2 Sat Sep 16 19:07:45 2006 +++ php-src/ext/gd/libgd/gd.h Wed Apr 4 00:47:55 2007 @@ -301,6 +301,14 @@ void gdImageString16(gdImagePtr im, gdFontPtr f, int x, int y, unsigned short *s, int color); void
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/gd/libgd gd_gif_in.c /ext/gd/tests bug37360.phpt
pajoye Wed Apr 4 01:34:51 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/gd/libgd gd_gif_in.c /php-src/ext/gd/tests bug37360.phpt Log: - Sync with gd 2.0.35 (bug #52, #60 and #66) - Improve TS of gif loading code (Roman Nemecek, Nuno, Pierre) - a frame size must be confined to the screen defition (Pierre) - be sure to always read the dimensions in the frame and does not use the screen size (see #66 for a side effect) (Pierre) - Update #37360 test. The frame does not fit the logical screen (specs tell that it must fit) (Pierre) http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd_gif_in.c?r1=1.5.4.2.2.9r2=1.5.4.2.2.10diff_format=u Index: php-src/ext/gd/libgd/gd_gif_in.c diff -u php-src/ext/gd/libgd/gd_gif_in.c:1.5.4.2.2.9 php-src/ext/gd/libgd/gd_gif_in.c:1.5.4.2.2.10 --- php-src/ext/gd/libgd/gd_gif_in.c:1.5.4.2.2.9Thu Mar 8 20:24:53 2007 +++ php-src/ext/gd/libgd/gd_gif_in.cWed Apr 4 01:34:50 2007 @@ -61,12 +61,14 @@ } GifScreen; #endif +#if 0 static struct { int transparent; int delayTime; int inputFlag; int disposal; } Gif89 = { -1, -1, -1, 0 }; +#endif #define STACK_SIZE ((1(MAX_LWZ_BITS))*2) @@ -87,14 +89,12 @@ } LZW_STATIC_DATA; static int ReadColorMap (gdIOCtx *fd, int number, unsigned char (*buffer)[256]); -static int DoExtension (gdIOCtx *fd, int label, int *Transparent); -static int GetDataBlock (gdIOCtx *fd, unsigned char *buf); -static int GetCode (gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag); -static int LWZReadByte (gdIOCtx *fd, LZW_STATIC_DATA *sd, int flag, int input_code_size); +static int DoExtension (gdIOCtx *fd, int label, int *Transparent, int *ZeroDataBlockP); +static int GetDataBlock (gdIOCtx *fd, unsigned char *buf, int *ZeroDataBlockP); +static int GetCode (gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP); +static int LWZReadByte (gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, int *ZeroDataBlockP); -static void ReadImage (gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned char (*cmap)[256], int interlace); /*1.4//, int ignore); */ - -int ZeroDataBlock; +static void ReadImage (gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned char (*cmap)[256], int interlace, int *ZeroDataBlockP); /*1.4//, int ignore); */ gdImagePtr gdImageCreateFromGifSource(gdSourcePtr inSource) /* {{{ */ { @@ -124,24 +124,26 @@ gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr fd) /* {{{ */ { - /* 1.4 int imageNumber; */ int BitPixel; +#if 0 int ColorResolution; int Background; int AspectRatio; +#endif int Transparent = (-1); unsigned char buf[16]; unsigned char c; unsigned char ColorMap[3][MAXCOLORMAPSIZE]; unsigned char localColorMap[3][MAXCOLORMAPSIZE]; - int imw, imh; - int useGlobalColormap; + int imw, imh, screen_width, screen_height; + int gif87a, useGlobalColormap; int bitPixel; inti; /*1.4//int imageCount = 0; */ + int ZeroDataBlock = FALSE; + gdImagePtr im = 0; - ZeroDataBlock = FALSE; /*1.4//imageNumber = 1; */ if (! ReadOK(fd,buf,6)) { @@ -151,19 +153,26 @@ return 0; } - if ((strncmp((char*)buf+3, 87a, 3) != 0) (strncmp((char*)buf+3, 89a, 3) != 0)) { + if (memcmp((char *)buf+3, 87a, 3) == 0) { + gif87a = 1; + } else if (memcmp((char *)buf+3, 89a, 3) == 0) { + gif87a = 0; + } else { return 0; } + if (! ReadOK(fd,buf,7)) { return 0; } + BitPixel= 2(buf[4]0x07); +#if 0 ColorResolution = (int) (((buf[4]0x70)3)+1); Background = buf[5]; AspectRatio = buf[6]; - - imw = LM_to_uint(buf[0],buf[1]); - imh = LM_to_uint(buf[2],buf[3]); +#endif + screen_width = imw = LM_to_uint(buf[0],buf[1]); + screen_height = imh = LM_to_uint(buf[2],buf[3]); if (BitSet(buf[4], LOCALCOLORMAP)) {/* Global Colormap */ if (ReadColorMap(fd, BitPixel, ColorMap)) { @@ -171,6 +180,9 @@ } } for (;;) { + int top, left; + int width, height; + if (! ReadOK(fd,c,1)) { return 0; } @@ -182,7 +194,7 @@ if (! ReadOK(fd,c,1)) { return 0; } - DoExtension(fd, c, Transparent); + DoExtension(fd, c, Transparent, ZeroDataBlock); continue; } @@ -199,29 +211,33 @@ useGlobalColormap = ! BitSet(buf[8],
[PHP-CVS] cvs: php-src /ext/gd gd.c php_gd.h /ext/gd/libgd gd_gif_in.c /ext/gd/tests bug37360.phpt
pajoye Wed Apr 4 01:54:34 2007 UTC Modified files: /php-src/ext/gd gd.c php_gd.h /php-src/ext/gd/libgd gd_gif_in.c /php-src/ext/gd/tests bug37360.phpt Log: - fix previous commit (missing #ifdef in shutdown declaration) - MFB: - Sync with gd 2.0.35 (bug #52, #60 and #66) - Improve TS of gif loading code (Roman Nemecek, Nuno, Pierre) - a frame size must be confined to the screen defition (Pierre) - be sure to always read the dimensions in the frame and does not use the screen size (see #66 for a side effect) (Pierre) - Update #37360 test. The frame does not fit the logical screen (specs tell that it must fit) (Pierre) http://cvs.php.net/viewvc.cgi/php-src/ext/gd/gd.c?r1=1.367r2=1.368diff_format=u Index: php-src/ext/gd/gd.c diff -u php-src/ext/gd/gd.c:1.367 php-src/ext/gd/gd.c:1.368 --- php-src/ext/gd/gd.c:1.367 Wed Apr 4 00:44:38 2007 +++ php-src/ext/gd/gd.c Wed Apr 4 01:54:34 2007 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: gd.c,v 1.367 2007/04/04 00:44:38 pajoye Exp $ */ +/* $Id: gd.c,v 1.368 2007/04/04 01:54:34 pajoye Exp $ */ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center, Cold Spring Harbor Labs. */ @@ -1078,7 +1078,11 @@ gd, gd_functions, PHP_MINIT(gd), +#if HAVE_LIBT1 || HAVE_GD_FONTMUTEX PHP_MSHUTDOWN(gd), +#else + NULL, +#endif NULL, #if HAVE_GD_STRINGFT (HAVE_GD_FONTCACHESHUTDOWN || HAVE_GD_FREEFONTCACHE) PHP_RSHUTDOWN(gd), @@ -1122,9 +1126,9 @@ } /* }}} */ - /* {{{ PHP_MSHUTDOWN_FUNCTION */ +#if HAVE_LIBT1 || HAVE_GD_FONTMUTEX PHP_MSHUTDOWN_FUNCTION(gd) { #if HAVE_LIBT1 @@ -1135,6 +1139,7 @@ #endif return SUCCESS; } +#endif /* }}} */ http://cvs.php.net/viewvc.cgi/php-src/ext/gd/php_gd.h?r1=1.72r2=1.73diff_format=u Index: php-src/ext/gd/php_gd.h diff -u php-src/ext/gd/php_gd.h:1.72 php-src/ext/gd/php_gd.h:1.73 --- php-src/ext/gd/php_gd.h:1.72Mon Jan 8 22:56:26 2007 +++ php-src/ext/gd/php_gd.h Wed Apr 4 01:54:34 2007 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: php_gd.h,v 1.72 2007/01/08 22:56:26 nlopess Exp $ */ +/* $Id: php_gd.h,v 1.73 2007/04/04 01:54:34 pajoye Exp $ */ #ifndef PHP_GD_H #define PHP_GD_H @@ -64,7 +64,7 @@ /* gd.c functions */ PHP_MINFO_FUNCTION(gd); PHP_MINIT_FUNCTION(gd); -#if HAVE_LIBT1 +#if HAVE_LIBT1 || HAVE_GD_FONTMUTEX PHP_MSHUTDOWN_FUNCTION(gd); #endif #if HAVE_GD_STRINGFT http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd_gif_in.c?r1=1.14r2=1.15diff_format=u Index: php-src/ext/gd/libgd/gd_gif_in.c diff -u php-src/ext/gd/libgd/gd_gif_in.c:1.14 php-src/ext/gd/libgd/gd_gif_in.c:1.15 --- php-src/ext/gd/libgd/gd_gif_in.c:1.14 Thu Mar 8 20:26:48 2007 +++ php-src/ext/gd/libgd/gd_gif_in.cWed Apr 4 01:54:34 2007 @@ -61,12 +61,14 @@ } GifScreen; #endif +#if 0 static struct { int transparent; int delayTime; int inputFlag; int disposal; } Gif89 = { -1, -1, -1, 0 }; +#endif #define STACK_SIZE ((1(MAX_LWZ_BITS))*2) @@ -87,14 +89,12 @@ } LZW_STATIC_DATA; static int ReadColorMap (gdIOCtx *fd, int number, unsigned char (*buffer)[256]); -static int DoExtension (gdIOCtx *fd, int label, int *Transparent); -static int GetDataBlock (gdIOCtx *fd, unsigned char *buf); -static int GetCode (gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag); -static int LWZReadByte (gdIOCtx *fd, LZW_STATIC_DATA *sd, int flag, int input_code_size); +static int DoExtension (gdIOCtx *fd, int label, int *Transparent, int *ZeroDataBlockP); +static int GetDataBlock (gdIOCtx *fd, unsigned char *buf, int *ZeroDataBlockP); +static int GetCode (gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP); +static int LWZReadByte (gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, int *ZeroDataBlockP); -static void ReadImage (gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned char (*cmap)[256], int interlace); /*1.4//, int ignore); */ - -int ZeroDataBlock; +static void ReadImage (gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned char (*cmap)[256], int interlace, int *ZeroDataBlockP); /*1.4//, int ignore); */ gdImagePtr gdImageCreateFromGifSource(gdSourcePtr inSource) /* {{{ */ { @@ -126,22 +126,25 @@ { /* 1.4 int imageNumber; */ int BitPixel; +#if 0 int ColorResolution; int Background; int AspectRatio; +#endif int Transparent = (-1); unsigned char buf[16]; unsigned char c; unsigned char ColorMap[3][MAXCOLORMAPSIZE]; unsigned char localColorMap[3][MAXCOLORMAPSIZE]; - int imw, imh; - int useGlobalColormap; + int imw, imh, screen_width, screen_height; + int