moriyoshi Mon Feb 24 11:29:00 2003 EDT Modified files: /php4/ext/standard reg.c Log: Fixed a signed / unsigned issue. # imagine the case like "\\\xfe" where walk[1] takes a value that is greater # than 127 in integer... Index: php4/ext/standard/reg.c diff -u php4/ext/standard/reg.c:1.73 php4/ext/standard/reg.c:1.74 --- php4/ext/standard/reg.c:1.73 Mon Feb 24 11:13:13 2003 +++ php4/ext/standard/reg.c Mon Feb 24 11:29:00 2003 @@ -17,7 +17,7 @@ | Jaakko Hyvätti <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: reg.c,v 1.73 2003/02/24 16:13:13 moriyoshi Exp $ */ +/* $Id: reg.c,v 1.74 2003/02/24 16:29:00 moriyoshi Exp $ */ #include <stdio.h> #include <ctype.h> @@ -324,7 +324,7 @@ new_l = strlen(buf) + subs[0].rm_so; /* part before the match */ walk = replace; while (*walk) { - if ('\\' == *walk && isdigit(walk[1]) && walk[1] - '0' <= ((char) re.re_nsub)) { + if ('\\' == *walk && isdigit(walk[1]) && ((unsigned char)walk[1]) - '0' <= re.re_nsub) { if (subs[walk[1] - '0'].rm_so > -1 && subs[walk[1] - '0'].rm_eo > -1) { new_l += subs[walk[1] - '0'].rm_eo - subs[walk[1] - '0'].rm_so; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php