[PHP-dev 492] Re: users ¤Ëή¤·¤¿ mbstring.c ¥Ñ¥Ã¥Á¤Ë¥Ð¥°¤¬¤¢¤ê¤Þ¤·¤¿
Yasuo Ohgaki
php-dev@php.gr.jp
Sun, 08 Sep 2002 07:48:05 +0900
Âç³À¤Ç¤¹¡£
¼«Ê¬¤ÇÊÑ¿ô̾¤ÈÃͤÎ2¤Äʬ¤Î¾ì½ê³ÎÊݤ¬É¬Íפȥ³¥á¥ó¥È½ñ¤¤¤Æ
¤¤¤Æ˺¤ì¤Æ¤Þ¤·¤¿. ½é´ü²½¤·¤Æ¤Ê¤¤¥¢¥É¥ì¥¹¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤Þ
¤·¤¿¤Í¡£(´À
¤È¡¢¤³¤³¤Þ¤Ç½ñ¤¤¤¿»þÅÀ¤Ç¤Ê¤¼º£¤Þ¤ÇÌäÂê¤Ê¤«¤Ã¤¿¤Î¤«¡©¤È
¤è¤¯¹Í¤¨¤Æ¤ß¤ë¤È¡¢¤³¤ÎÉôʬ¡¢exmaple.php?var¤Î
var¤¬½é´ü²½¤µ¤ì¤ëÍͤËEdin¤µ¤ó¤¬Êѹ¹¤·¤Æ¤¤¤¿¤Ï¤º¤Ç¤¹
¤è¤Í¡£¤·¤«¤â¡¢¤³¤Î¥Ñ¥Ã¥Á¤Ë¤Ï¥»¥Ñ¥ì¡¼¥¿¤¬Ê£¿ô»ØÄê¤Ç¤¤Ê
¤¯¤Ê¤Ã¤¿¥Ð¥°¤â¤¢¤Ã¤Æ¼«Ê¬¤¬Ä¾¤·¤¿¤Ï¤º...
¤¢¤Î¥Ñ¥Ã¥Á¤¬¥³¥ß¥Ã¥È¤µ¤ì¤¿»þ¤Ëº®Æþ¤·¤¿separator¥Ð¥°
¤òľ¤·¤¿»þ¤Ë¤â¤Ã¤È¤è¤¯³Îǧ¤·¤Æ¤ª¤¯¤Ù¤¤Ç¤·¤¿¡£
¤³¤Î¥Ñ¥Ã¥Á¤Ç¡¢ÌäÂê²ò·è¤È»×¤¤¤Þ¤¹¡£HEAD¤Ë¥³¥ß¥Ã¥È¤·¤È¤
¤Þ¤¹¡£Ç°¤Î°Ù¡¢¤·¤Ð¤é¤¯¤ª¤¤¤Æ¤ª¤¤¤ÆÌäÂê¤Ê¤±¤ì¤Ð4.2.0¥Ö
¥é¥ó¥Á¤Ë¤â¥³¥ß¥Ã¥È¤·¤Æ¤ª¤¤Þ¤¹¡£
--
Yasuo Ohgaki
Moriyoshi Koizumi wrote:
> ¾®Àô¤Ç¤¹¡£
>
> ¤³¤Á¤é¤Î ML ¤Ï½é¤á¤Æ¤Ç¤¹¡£¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
>
> Àè¤Û¤É php-users ¤ËÅꤲ¤¿¥Ñ¥Ã¥Á¤Ë¤ÏÉÔ¶ñ¹ç¤¬¤¢¤ê¤Þ¤·¤¿¡£
> (¤¤·¤À¤µ¤ó¡¢Æ£Ëܤµ¤ó¸¡¾Ú¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£)
>
> ¤¢¤Þ¤ê¥½¡¼¥¹¤òÆɤó¤Ç¤¤¤Ê¤¤¤Î¤Ë¥Ñ¥Ã¥Á¤òºî¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤¬Èó¾ï¤Ë¤Þ¤º¤«¤Ã¤¿¤Ç
> ¤¹¤Í¡£
> iconv ¤Î·ï¤Ç¤ªÀ¤ÏäˤʤäƤ¤¤¿¡¢Âç³À¤µ¤ó¤Ë¤¸¤«¤Ë¥Ñ¥Ã¥Á¤òÁ÷¤Ã¤Æ¤·¤Þ¤Ã¤¿
> »ä¤ÎȽÃǥߥ¹¤â¤è¤¯¤Ê¤«¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£
> ¤³¤ì¤«¤é¥Ñ¥Ã¥Á¤Ï¤È¤ê¤¢¤¨¤º¤³¤Î php-dev@php.gr.jp ¤ËÅꤲ¤Æ¡¢¤È¤ê¤¢¤¨¤ºÂ¿¤¯
> ¤ÎÊý¤ÎÌܤòÄ̤·¤Æ¤¤¤¿¤À¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£
>
> ¤µ¤Æ¡¢ºÆ¤Ó¥Ñ¥Ã¥Á¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¤¬¡¢¤É¤¦¤Ç¤·¤ç¤¦¤«¡©
>
> ¤ªË»¤·¤¤¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
>
>
>
> ------------------------------------------------------------------------
>
> diff -u -r php-4.2.3.org/ext/mbstring/mbstring.c php-4.2.3/ext/mbstring/mbstring.c
> --- php-4.2.3.org/ext/mbstring/mbstring.c Thu Aug 1 14:47:56 2002
> +++ php-4.2.3/ext/mbstring/mbstring.c Sun Sep 8 05:44:09 2002
> @@ -1031,18 +1031,24 @@
> var = php_strtok_r(res, separator, &strtok_buf);
> while (var) {
> val = strchr(var, '=');
> - val_list[n] = var;
> - len_list[n] = php_url_decode(var, strlen(var));
> - n++;
> if (val) { /* have a value */
> + len_list[n] = php_url_decode(var, val-var);
> + val_list[n] = var;
> + n++;
> +
> *val++ = '\0';
> val_list[n] = val;
> len_list[n] = php_url_decode(val, strlen(val));
> + n++;
> } else {
> + len_list[n] = php_url_decode(var, strlen(var));
> + val_list[n] = var;
> + n++;
> +
> val_list[n] = "";
> len_list[n] = 0;
> + n++;
> }
> - n++;
> var = php_strtok_r(NULL, separator, &strtok_buf);
> }
> num = n; /* make sure to process initilized vars only */
>
>
> ------------------------------------------------------------------------
>
> Index: mbstring.c
> ===================================================================
> RCS file: /repository/php4/ext/mbstring/mbstring.c,v
> retrieving revision 1.97
> diff -u -r1.97 mbstring.c
> --- mbstring.c 7 Sep 2002 14:07:05 -0000 1.97
> +++ mbstring.c 7 Sep 2002 21:30:15 -0000
> @@ -1272,19 +1272,24 @@
> var = php_strtok_r(res, separator, &strtok_buf);
> while (var) {
> val = strchr(var, '=');
> - val_list[n] = var;
> - n++;
> if (val) { /* have a value */
> - php_url_decode(var, val-var);
> + len_list[n] = php_url_decode(var, val-var);
> + val_list[n] = var;
> + n++;
> +
> *val++ = '\0';
> val_list[n] = val;
> len_list[n] = php_url_decode(val, strlen(val));
> + n++;
> } else {
> - php_url_decode(var, strlen(var));
> + len_list[n] = php_url_decode(var, strlen(var));
> + val_list[n] = var;
> + n++;
> +
> val_list[n] = "";
> len_list[n] = 0;
> + n++;
> }
> - n++;
> var = php_strtok_r(NULL, separator, &strtok_buf);
> }
> num = n; /* make sure to process initilized vars only */