yohgaki Mon Nov 25 21:15:59 2002 EDT Modified files: (Branch: PHP_4_3) /php4/ext/pgsql pgsql.c Log: MFH Index: php4/ext/pgsql/pgsql.c diff -u php4/ext/pgsql/pgsql.c:1.244 php4/ext/pgsql/pgsql.c:1.244.2.1 --- php4/ext/pgsql/pgsql.c:1.244 Tue Nov 12 04:07:36 2002 +++ php4/ext/pgsql/pgsql.c Mon Nov 25 21:15:58 2002 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.244 2002/11/12 09:07:36 yohgaki Exp $ */ +/* $Id: pgsql.c,v 1.244.2.1 2002/11/26 02:15:58 yohgaki Exp $ */ #include <stdlib.h> @@ -2710,15 +2710,13 @@ case 3: if (isdigit(*sp)) /* state=4 */ { - unsigned int v,i; - unsigned char buf[4]; /* 000 + '\0' */ - + unsigned char *start, *end, buf[4]; /* 000 + +'\0' */ + bp -= 3; - for (i = 0; i < 3; i++) - buf[i] = *((sp-2)+i); - buf[i] = '\0'; - sscanf(buf, "%03o", &v); - *bp = v; + memcpy(buf, sp-2, 3); + buf[3] = '\0'; + start = buf; + *bp = (unsigned char)strtoul(start, (char +**)&end, 8); buflen -= 3; state = 0; } @@ -2730,9 +2728,8 @@ break; } } - buffer = erealloc(buffer, buflen); - if (buffer == NULL) - return NULL; + buffer = erealloc(buffer, buflen+1); + buffer[buflen] = '\0'; *retbuflen = buflen; return buffer;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php