[PHP-CVS-DAILY] cvs: ZendEngine2 / ChangeLog

2007-04-03 Thread 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

2007-04-03 Thread Sebastian Bergmann
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

2007-04-03 Thread Rob Richards
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

2007-04-03 Thread Rob Richards
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

2007-04-03 Thread Brian Shire
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

2007-04-03 Thread Brian Shire
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

2007-04-03 Thread Antony Dovgal
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

2007-04-03 Thread Pierre-Alain Joye
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

2007-04-03 Thread Pierre-Alain Joye
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

2007-04-03 Thread Pierre-Alain Joye
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

2007-04-03 Thread Pierre-Alain Joye
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

2007-04-03 Thread Pierre-Alain Joye
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