Browse Source

- Fix ZTS build

experimental/first_unicode_implementation
Pierre Joye 18 years ago
parent
commit
cd9c6a12e9
  1. 24
      ext/intl/locale/locale_methods.c

24
ext/intl/locale/locale_methods.c

@ -743,10 +743,10 @@ PHP_FUNCTION(locale_canonicalize)
/* {{{ append_convert_to_string
*/
static int append_convert_to_string(zval **val, char **strval, int *str_len)
static int append_convert_to_string(zval **val, char **strval, int *str_len TSRMLS_DC)
{
if(Z_TYPE_PP(val) == IS_UNICODE) {
*strval = zend_unicode_to_ascii(Z_USTRVAL_PP(val), Z_USTRLEN_PP(val));
*strval = zend_unicode_to_ascii(Z_USTRVAL_PP(val), Z_USTRLEN_PP(val) TSRMLS_CC);
*str_len = strlen(*strval);
return 1;
} else if(Z_TYPE_PP(val) == IS_STRING) {
@ -765,7 +765,7 @@ static int append_convert_to_string(zval **val, char **strval, int *str_len)
* returns 1 if successful , -1 if not found ,
* 0 if array element is not a string , -2 if buffer-overflow
*/
static int append_key_value(smart_str* loc_name, HashTable* hash_arr, char* key_name)
static int append_key_value(smart_str* loc_name, HashTable* hash_arr, char* key_name TSRMLS_DC)
{
zval** ele_value = NULL;
@ -775,7 +775,7 @@ static int append_key_value(smart_str* loc_name, HashTable* hash_arr, char* key_
char *val = NULL;
int len = 0;
free_val = append_convert_to_string(ele_value, &val, &len);
free_val = append_convert_to_string(ele_value, &val, &len TSRMLS_CC);
if(val == NULL) {
//element value is not a string
return FAILURE;
@ -835,7 +835,7 @@ static int append_multiple_key_values(smart_str* loc_name, HashTable* hash_arr,
zend_hash_internal_pointer_reset_ex(arr, &pos);
while(zend_hash_get_current_data_ex(arr, (void **)&data, &pos) != FAILURE) {
free_val = append_convert_to_string(data, &val, &len);
free_val = append_convert_to_string(data, &val, &len TSRMLS_CC);
if(val == NULL) {
//element value is not a string
return FAILURE;
@ -852,7 +852,7 @@ static int append_multiple_key_values(smart_str* loc_name, HashTable* hash_arr,
}
return SUCCESS;
} else {
free_val = append_convert_to_string(ele_value, &val, &len);
free_val = append_convert_to_string(ele_value, &val, &len TSRMLS_CC);
if(val == NULL) {
//element value is not a string
return FAILURE;
@ -885,7 +885,7 @@ static int append_multiple_key_values(smart_str* loc_name, HashTable* hash_arr,
snprintf( cur_key_name , 30, "%s%d", key_name , i);
if(zend_hash_find(hash_arr, cur_key_name, strlen(cur_key_name)+1, (void **)&ele_value) == SUCCESS ||
zend_ascii_hash_find(hash_arr, cur_key_name, strlen(cur_key_name)+1, (void **)&ele_value) == SUCCESS) {
free_val = append_convert_to_string(ele_value, &val, &len);
free_val = append_convert_to_string(ele_value, &val, &len TSRMLS_CC);
if(val == NULL) {
//element value is not a string
return FAILURE;
@ -956,7 +956,7 @@ PHP_FUNCTION(locale_compose)
RETURN_FALSE;
//Check for grandfathered first
result = append_key_value(loc_name, hash_arr, LOC_GRANDFATHERED_LANG_TAG);
result = append_key_value(loc_name, hash_arr, LOC_GRANDFATHERED_LANG_TAG TSRMLS_CC);
if( result == SUCCESS){
RETURN_SMART_STR(loc_name);
}
@ -965,7 +965,7 @@ PHP_FUNCTION(locale_compose)
}
//Not grandfathered
result = append_key_value(loc_name, hash_arr , LOC_LANG_TAG);
result = append_key_value(loc_name, hash_arr , LOC_LANG_TAG TSRMLS_CC);
if( result == LOC_NOT_FOUND ){
intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR,
"locale_compose: parameter array does not contain 'language' tag.", 0 TSRMLS_CC );
@ -983,13 +983,13 @@ PHP_FUNCTION(locale_compose)
}
//Script
result = append_key_value(loc_name, hash_arr , LOC_SCRIPT_TAG);
result = append_key_value(loc_name, hash_arr , LOC_SCRIPT_TAG TSRMLS_CC);
if( !handleAppendResult( result, loc_name TSRMLS_CC)){
RETURN_FALSE;
}
//Region
result = append_key_value( loc_name, hash_arr , LOC_REGION_TAG);
result = append_key_value( loc_name, hash_arr , LOC_REGION_TAG TSRMLS_CC);
if( !handleAppendResult( result, loc_name TSRMLS_CC)){
RETURN_FALSE;
}
@ -1475,7 +1475,7 @@ static char* lookup_loc_range(char* loc_range, HashTable* hash_arr , int isCanon
efree( lang_tag );
}
if( Z_TYPE_PP(ele_value)== IS_UNICODE ) {
lang_tag = zend_unicode_to_ascii(Z_USTRVAL_PP(ele_value), Z_USTRLEN_PP(ele_value));
lang_tag = zend_unicode_to_ascii(Z_USTRVAL_PP(ele_value), Z_USTRLEN_PP(ele_value) TSRMLS_CC);
} else if( Z_TYPE_PP(ele_value)== IS_STRING ) {
lang_tag = estrdup(Z_STRVAL_PP(ele_value));
} else {

Loading…
Cancel
Save