cvs: php-src /ext/gd gd_ctx.c

From: Date: Wed, 28 Jan 2004 16:25:13 +0000
Subject: cvs: php-src /ext/gd gd_ctx.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-25913@lists.php.net to get a copy of this message
martin Wed Jan 28 11:25:13 2004 EDT Modified files: /php-src/ext/gd gd_ctx.c Log: Bug fix: Images would be broken on big-endian machines because the putc function wrote the first (instead of "the low order") byte. That resulted in unexpected zero bytes. http://cvs.php.net/diff.php/php-src/ext/gd/gd_ctx.c?r1=1.19&r2=1.20&ty=u Index: php-src/ext/gd/gd_ctx.c diff -u php-src/ext/gd/gd_ctx.c:1.19 php-src/ext/gd/gd_ctx.c:1.20 --- php-src/ext/gd/gd_ctx.c:1.19 Thu Jan 8 03:15:29 2004 +++ php-src/ext/gd/gd_ctx.c Wed Jan 28 11:25:12 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: gd_ctx.c,v 1.19 2004/01/08 08:15:29 andi Exp $ */ +/* $Id: gd_ctx.c,v 1.20 2004/01/28 16:25:12 martin Exp $ */ #include "php_gd.h" @@ -24,8 +24,13 @@ static void _php_image_output_putc(struct gdIOCtx *ctx, int c) { + /* without the following downcast, the write will fail + * (i.e., will write a zero byte) for all + * big endian architectures: + */ + unsigned char ch = (unsigned char) c; TSRMLS_FETCH(); - php_write(&c, 1 TSRMLS_CC); + php_write(&ch, 1 TSRMLS_CC); } static int _php_image_output_putbuf(struct gdIOCtx *ctx, const void* buf, int l)

« previous php.cvs (#25913) next »