Quick fix Brad Fisher wrote: > PHPAPI char* php_str_unhtmlentities(char *str, unsigned int *resultlen)
PHPAPI char* php_str_unhtmlentities(char *str, unsigned int *resultlen TSRMLS_DC) Use memcpy instead of strcpy/strncpy. strcpy() won't work when user uses UCS-4 or like. > > /* BF 6/11/01 ([EMAIL PROTECTED]) */ > /* {{{ proto string unhtmlentities(string str) > > Translates HTML entities in the given string into the appropriate > characters. This function is > the reverse of the standard PHP function htmlentities, however it DOES > NOT currently use the same > translation table. HTML entities have the form "&data;" where data is > either the name of an > entity (ie. >, <, ") or a # symbol followed by a decimal > value from 0 to 255 (ie. ", &) > > str = the string to decode > > */ proto cannot be that long, right? Anyone? > PHP_FUNCTION(unhtmlentities) > { > zval **_str; // The string char *str; uint strlen = 0; > uint resultlen; > char *result; > > int myargc = ZEND_NUM_ARGS(); > if (myargc != 1 || > zend_get_parameters_ex(myargc, &_str) == FAILURE) > { > ZEND_WRONG_PARAM_COUNT(); > } //if if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &strlen) == FAILURE) { return; } > > // Convert the parameters to the appropriate types > convert_to_string_ex(_str); > > resultlen = Z_STRLEN_PP(_str); > result = php_str_unhtmlentities(Z_STRVAL_PP(_str), &resultlen); result = php_str_unhtmlentities(str, &strlen); > > // Return the result > RETURN_STRINGL(result, resultlen, 0); > } // PHP_FUNCTION(unhtmlentities) > /* }}} */ > > > -- Yasuo Ohgaki -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php