It seems like php_handle_jpeg() called by getimagetype() is always
returning null. Here is a trace:
937 itype = php_getimagetype(stream, NULL TSRMLS_CC);
938 switch( itype) {
itype is 2 at this point (2 = jpeg)
943 if (info) {
946 result = php_handle_jpeg(stream, NULL
TSRMLS_CC);
Breakpoint 2, php_handle_jpeg (stream=0x83ff99c, info=0x0) at
/home/rasmus/php4/ext/standard/image.c:479
479 struct gfxinfo *result = NULL;
480 unsigned int marker = M_PSEUDO;
481 unsigned short length, ff_read=1;
484 marker = php_next_marker(stream, marker, 1, ff_read TSRMLS_CC);
485 ff_read = 0;
486 switch (marker) {
534 if (info) {
537 php_skip_variable(stream TSRMLS_CC);
539 break;
484 marker = php_next_marker(stream, marker, 1, ff_read TSRMLS_CC);
485 ff_read = 0;
486 switch (marker) {
543 return result; /* we're about to hit image
data, or are at EOF. stop processing. */
0x0815e7ec 553 }
So result is never filled in as it doesn't think we hit any markers. Yet
a "file foo.jpg" returns:
foo.jpg: JPEG image data, JFIF standard 1.02, resolution (DPI), 72 x 72
I have tried it with a number of different jpegs. My libjpeg is:
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40557000)
Can someone recreate this in current CVS HEAD?
-Rasmus
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php