cvs: php-src /ext/standard cyr_convert.c

From: Date: Fri, 27 Oct 2006 18:14:19 +0000
Subject: cvs: php-src /ext/standard cyr_convert.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-41241@lists.php.net to get a copy of this message
andrei Fri Oct 27 18:14:19 2006 UTC Modified files: /php-src/ext/standard cyr_convert.c Log: convert_cyr_string() should operate only on binary strings. http://cvs.php.net/viewvc.cgi/php-src/ext/standard/cyr_convert.c?r1=1.30&r2=1.31&diff_format=u Index: php-src/ext/standard/cyr_convert.c diff -u php-src/ext/standard/cyr_convert.c:1.30 php-src/ext/standard/cyr_convert.c:1.31 --- php-src/ext/standard/cyr_convert.c:1.30 Wed Jan 18 23:55:27 2006 +++ php-src/ext/standard/cyr_convert.c Fri Oct 27 18:14:19 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: cyr_convert.c,v 1.30 2006/01/18 23:55:27 tony2001 Exp $ */ +/* $Id: cyr_convert.c,v 1.31 2006/10/27 18:14:19 andrei Exp $ */ #include <stdlib.h> @@ -267,24 +267,22 @@ } /* }}} */ -/* {{{ proto string convert_cyr_string(string str, string from, string to) +/* {{{ proto string convert_cyr_string(string str, string from, string to) U Convert from one Cyrillic character set to another */ PHP_FUNCTION(convert_cyr_string) { - zval **str_arg, **fr_cs, **to_cs; + char *input, *fr_cs, *to_cs; + int input_len, fr_cs_len, to_cs_len; unsigned char *str; - if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3,&str_arg,&fr_cs, &to_cs)==FAILURE) - { - WRONG_PARAM_COUNT; - } - convert_to_string_ex(str_arg); - convert_to_string_ex(fr_cs); - convert_to_string_ex(to_cs); + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Sss", &input, + &input_len, &fr_cs, &fr_cs_len, &to_cs, &to_cs_len) == FAILURE) { + return; + } - str = (unsigned char*) estrndup(Z_STRVAL_PP(str_arg), Z_STRLEN_PP(str_arg)); + str = (unsigned char*) estrndup(input, input_len); - php_convert_cyr_string(str, Z_STRLEN_PP(str_arg), Z_STRVAL_PP(fr_cs)[0], Z_STRVAL_PP(to_cs)[0] TSRMLS_CC); + php_convert_cyr_string(str, input_len, fr_cs[0], to_cs[0] TSRMLS_CC); RETVAL_STRING((char *)str, 0) } /* }}} */

« previous php.cvs (#41241) next »