cvs: php4(PHP_4_3) /ext/mbstring mbstring.c

From: Date: Thu, 14 Nov 2002 21:35:18 +0000
Subject: cvs: php4(PHP_4_3) /ext/mbstring mbstring.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-16195@lists.php.net to get a copy of this message
moriyoshi Thu Nov 14 16:35:18 2002 EDT Modified files: (Branch: PHP_4_3) /php4/ext/mbstring mbstring.c Log: MFH Index: php4/ext/mbstring/mbstring.c diff -u php4/ext/mbstring/mbstring.c:1.142.2.1 php4/ext/mbstring/mbstring.c:1.142.2.2 --- php4/ext/mbstring/mbstring.c:1.142.2.1 Wed Nov 13 18:01:16 2002 +++ php4/ext/mbstring/mbstring.c Thu Nov 14 16:35:18 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.142.2.1 2002/11/13 23:01:16 edink Exp $ */ +/* $Id: mbstring.c,v 1.142.2.2 2002/11/14 21:35:18 moriyoshi Exp $ */ /* * PHP4 Multibyte String module "mbstring" (currently only for Japanese) @@ -3535,17 +3535,26 @@ char *last=NULL; if (nbytes == (size_t)-1) { + size_t nb = 0; + while (*p != '\0') { - if ((unsigned int)*p == c) { - last = (char *)p; + if (nb == 0) { + if ((unsigned char)*p == (unsigned char)c) { + last = (char *)p; + } + nb = php_mb_mbchar_bytes_ex(p, enc); + if (nb == 0) { + return NULL; /* something is going wrong! */ + } } - p += php_mb_mbchar_bytes_ex(p, enc); + --nb; + ++p; } } else { register size_t bcnt = nbytes; register size_t nbytes_char; while (bcnt > 0) { - if ((unsigned int)*p == c) { + if ((unsigned char)*p == (unsigned char)c) { last = (char *)p; } nbytes_char = php_mb_mbchar_bytes_ex(p, enc);

« previous php.cvs (#16195) next »