ZEND_API int zend_multibyte_set_script_encoding_by_string(const char *new_value, size_t new_value_length) { const zend_encoding **list = 0; size_t size = 0; if (!new_value) { zend_multibyte_set_script_encoding(NULL, 0); return SUCCESS; } if (FAILURE == zend_multibyte_parse_encoding_list(new_value, new_value_length, &list, &size, 1)) { return FAILURE; } if (size == 0) { pefree((void*)list, 1); return FAILURE; } if (FAILURE == zend_multibyte_set_script_encoding(list, size)) { return FAILURE; } return SUCCESS; }
ZEND_API int zend_multibyte_set_script_encoding(char *encoding_list, int encoding_list_size TSRMLS_DC) { if (CG(script_encoding_list)) { efree(CG(script_encoding_list)); CG(script_encoding_list) = NULL; } CG(script_encoding_list_size) = 0; if (!encoding_list) { return 0; } zend_multibyte_parse_encoding_list(encoding_list, encoding_list_size, &(CG(script_encoding_list)), &(CG(script_encoding_list_size))); return 0; }