diff options
Diffstat (limited to 'ext/mbstring/mbstring.c')
| -rw-r--r-- | ext/mbstring/mbstring.c | 139 |
1 files changed, 47 insertions, 92 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 5982865517..b706b7bc6a 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -793,12 +793,12 @@ PHP_RINIT_FUNCTION(mbstring) if (zend_hash_find(EG(function_table), p->orig_func, strlen(p->orig_func)+1, (void **)&orig) != SUCCESS) { - php_error(E_ERROR, "%s() mbstring couldn't find function %s.", get_active_function_name(TSRMLS_C), p->orig_func); + php_error_docref("ref.mbstring" TSRMLS_CC, E_ERROR, "mbstring couldn't find function %s.", p->orig_func); } zend_hash_add(EG(function_table), p->save_func, strlen(p->save_func)+1, orig, sizeof(zend_function), NULL); if (zend_hash_update(EG(function_table), p->orig_func, strlen(p->orig_func)+1, func, sizeof(zend_function), NULL) == FAILURE){ - php_error(E_ERROR, "%s() mbstring couldn't replace function %s.", get_active_function_name(TSRMLS_C), p->orig_func); + php_error_docref("ref.mbstring" TSRMLS_CC, E_ERROR, "mbstring couldn't replace function %s.", p->orig_func); } } p++; @@ -918,8 +918,7 @@ PHP_FUNCTION(mb_language) convert_to_string_ex(arg1); no_language = mbfl_name2no_language(Z_STRVAL_PP(arg1)); if (no_language == mbfl_no_language_invalid) { - php_error(E_WARNING, "%s() unknown language \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg1)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown language \"%s\"", Z_STRVAL_PP(arg1)); RETURN_FALSE; } else { MBSTRG(current_language) = no_language; @@ -952,8 +951,7 @@ PHP_FUNCTION(mb_internal_encoding) convert_to_string_ex(arg1); no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg1)); if (no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg1)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg1)); RETURN_FALSE; } else { MBSTRG(current_internal_encoding) = no_encoding; @@ -1081,8 +1079,7 @@ PHP_FUNCTION(mb_http_output) convert_to_string_ex(arg1); no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg1)); if (no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg1)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg1)); RETURN_FALSE; } else { MBSTRG(current_http_output_encoding) = no_encoding; @@ -1184,8 +1181,7 @@ PHP_FUNCTION(mb_substitute_character) MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; MBSTRG(current_filter_illegal_substchar) = Z_LVAL_PP(arg1); } else { - php_error(E_WARNING, "%s() unknown character.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown character."); RETVAL_FALSE; } } @@ -1196,8 +1192,7 @@ PHP_FUNCTION(mb_substitute_character) MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; MBSTRG(current_filter_illegal_substchar) = Z_LVAL_PP(arg1); } else { - php_error(E_WARNING, "%() unknown character.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown character."); RETVAL_FALSE; } break; @@ -1221,14 +1216,12 @@ PHP_FUNCTION(mb_preferred_mime_name) convert_to_string_ex(arg1); no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg1)); if (no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg1)); + php_error_docref1(NULL TSRMLS_CC, Z_STRVAL_PP(arg1), E_WARNING, "unknown encoding"); RETVAL_FALSE; } else { name = mbfl_no2preferred_mime_name(no_encoding); if (name == NULL || *name == '\0') { - php_error(E_WARNING, "%s() no name for \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg1)); + php_error_docref1(NULL TSRMLS_CC, Z_STRVAL_PP(arg1), E_WARNING, "no name for that encoding"); RETVAL_FALSE; } else { RETVAL_STRING((char *)name, 1); @@ -1333,8 +1326,7 @@ php_mbstr_encoding_handler(zval *arg, char *res, char *separator TSRMLS_DC) mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode) TSRMLS_CC); mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar) TSRMLS_CC); } else { - php_error(E_WARNING, "%s() unable to create converter", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to create converter"); } } @@ -1659,8 +1651,7 @@ PHP_FUNCTION(mb_parse_str) mbfl_encoding_detector_delete(identd TSRMLS_CC); } if (from_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unable to detect encoding", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to detect encoding"); from_encoding = mbfl_no_encoding_pass; } } @@ -1671,8 +1662,7 @@ PHP_FUNCTION(mb_parse_str) mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode) TSRMLS_CC); mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar) TSRMLS_CC); } else { - php_error(E_WARNING, "%s() unable to create converter", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to create converter"); } } @@ -1845,14 +1835,12 @@ PHP_FUNCTION(mb_strlen) } if (Z_TYPE_PP(arg1) == IS_ARRAY || Z_TYPE_PP(arg1) == IS_OBJECT) { - php_error(E_NOTICE, "%s() arg1 is invalid.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "arg1 is invalid."); RETURN_FALSE; } if (( n ==2 && Z_TYPE_PP(arg2) == IS_ARRAY) || ( n ==2 && Z_TYPE_PP(arg2) == IS_OBJECT)) { - php_error(E_NOTICE, "%s() arg2 is invalid.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "arg2 is invalid."); RETURN_FALSE; } @@ -1867,8 +1855,7 @@ PHP_FUNCTION(mb_strlen) convert_to_string_ex(arg2); string.no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg2)); if(string.no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg2)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg2)); RETURN_FALSE; } } @@ -1921,8 +1908,7 @@ PHP_FUNCTION(mb_strpos) convert_to_string_ex(arg4); haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg4)); if(haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg4)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg4)); RETURN_FALSE; } break; @@ -1934,13 +1920,11 @@ PHP_FUNCTION(mb_strpos) convert_to_string_ex(arg2); if (offset < 0 || offset > Z_STRLEN_PP(arg1)) { - php_error(E_WARNING,"%s() offset not contained in string", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "offset not contained in string"); RETURN_FALSE; } if (Z_STRLEN_PP(arg2) == 0) { - php_error(E_WARNING,"%s() empty needle", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "empty needle"); RETURN_FALSE; } haystack.val = Z_STRVAL_PP(arg1); @@ -1956,20 +1940,16 @@ PHP_FUNCTION(mb_strpos) case 1: break; case 2: - php_error(E_WARNING,"%s() needle has not positive length.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "needle has not positive length."); break; case 4: - php_error(E_WARNING,"%s() unknown encoding or conversion error.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding or conversion error."); break; case 8: - php_error(E_NOTICE,"%s() argument is empty.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_NOTICE," argument is empty."); break; default: - php_error(E_WARNING,"%s() unknown error in mb_strpos.", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown error in mb_strpos."); break; } RETVAL_FALSE; @@ -2006,8 +1986,7 @@ PHP_FUNCTION(mb_strrpos) convert_to_string_ex(arg3); haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg3)); if(haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg3)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg3)); RETURN_FALSE; } break; @@ -2018,13 +1997,11 @@ PHP_FUNCTION(mb_strrpos) convert_to_string_ex(arg1); convert_to_string_ex(arg2); if (Z_STRLEN_PP(arg1) <= 0) { - php_error(E_WARNING,"%s() empty haystack", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING,"empty haystack"); RETURN_FALSE; } if (Z_STRLEN_PP(arg2) <= 0) { - php_error(E_WARNING,"%s() empty needle", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING,"empty needle"); RETURN_FALSE; } haystack.val = Z_STRVAL_PP(arg1); @@ -2073,8 +2050,7 @@ PHP_FUNCTION(mb_substr) convert_to_string_ex(arg4); string.no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg4)); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg4)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg4)); RETURN_FALSE; } break; @@ -2163,8 +2139,7 @@ PHP_FUNCTION(mb_strcut) convert_to_string_ex(arg4); string.no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg4)); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg4)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg4)); RETURN_FALSE; } break; @@ -2241,8 +2216,7 @@ PHP_FUNCTION(mb_strwidth) convert_to_string_ex(arg2); string.no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg2)); if(string.no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg2)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg2)); RETURN_FALSE; } } @@ -2293,8 +2267,7 @@ PHP_FUNCTION(mb_strimwidth) convert_to_string_ex(arg5); string.no_encoding = marker.no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg5)); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg5)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg5)); RETURN_FALSE; } break; @@ -2309,8 +2282,7 @@ PHP_FUNCTION(mb_strimwidth) convert_to_long_ex(arg2); from = Z_LVAL_PP(arg2); if (from < 0 || from > Z_STRLEN_PP(arg1)) { - php_error(E_WARNING,"%s() start not contained in string", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "start not contained in string"); RETURN_FALSE; } @@ -2318,8 +2290,7 @@ PHP_FUNCTION(mb_strimwidth) width = Z_LVAL_PP(arg3); if (width < 0) { - php_error(E_WARNING,"%s() width has negative value", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "width has negative value"); RETURN_FALSE; } @@ -2357,8 +2328,7 @@ PHPAPI char * php_mb_convert_encoding(char *input, size_t length, char *_to_enco if (_to_encoding && strlen(_to_encoding)) { to_encoding = mbfl_name2no_encoding(_to_encoding); if (to_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), _to_encoding); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", _to_encoding); return NULL; } } else { @@ -2388,15 +2358,13 @@ PHPAPI char * php_mb_convert_encoding(char *input, size_t length, char *_to_enco if (from_encoding != mbfl_no_encoding_invalid) { string.no_encoding = from_encoding; } else { - php_error(E_WARNING, "%s() unable to detect character encoding", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to detect character encoding"); from_encoding = mbfl_no_encoding_pass; to_encoding = from_encoding; string.no_encoding = from_encoding; } } else { - php_error(E_WARNING, "%s() illegal character encoding specified", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "illegal character encoding specified"); } if (list != NULL) { efree((void *)list); @@ -2406,8 +2374,7 @@ PHPAPI char * php_mb_convert_encoding(char *input, size_t length, char *_to_enco /* initialize converter */ convd = mbfl_buffer_converter_new(from_encoding, to_encoding, string.len TSRMLS_CC); if (convd == NULL) { - php_error(E_WARNING, "%s() unable to create character encoding converter", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to create character encoding converter"); return NULL; } mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode) TSRMLS_CC); @@ -2551,8 +2518,7 @@ PHP_FUNCTION(mb_detect_encoding) break; } if (size <= 0) { - php_error(E_WARNING, "%s() illegal argument", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "illegal argument"); } } @@ -2601,8 +2567,7 @@ PHP_FUNCTION(mb_encode_mimeheader) convert_to_string_ex(argv[1]); charset = mbfl_name2no_encoding(Z_STRVAL_PP(argv[1])); if (charset == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(argv[1])); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(argv[1])); RETURN_FALSE; } } else { @@ -2780,8 +2745,7 @@ PHP_FUNCTION(mb_convert_kana) convert_to_string_ex(arg3); no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg3)); if (no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg3)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg3)); RETURN_FALSE; } else { string.no_encoding = no_encoding; @@ -2830,8 +2794,7 @@ PHP_FUNCTION(mb_convert_variables) convert_to_string_ex(args[0]); to_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(args[0])); if (to_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(args[0])); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(args[0])); efree((void *)args); RETURN_FALSE; } @@ -2892,8 +2855,7 @@ PHP_FUNCTION(mb_convert_variables) stack_max += PHP_MBSTR_STACK_BLOCK_SIZE; ptmp = erealloc(stack, sizeof(pval **)*stack_max); if (ptmp == NULL) { - php_error(E_WARNING, "%s() stack err at %s:(%d)", - get_active_function_name(TSRMLS_C), __FILE__, __LINE__); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "stack err at %s:(%d)", __FILE__, __LINE__); continue; } stack = (pval ***)ptmp; @@ -2930,8 +2892,7 @@ detect_end: efree(stack); } if (from_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unable to detect encoding", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to detect encoding"); from_encoding = mbfl_no_encoding_pass; } } @@ -2943,8 +2904,7 @@ detect_end: if (from_encoding != mbfl_no_encoding_pass) { convd = mbfl_buffer_converter_new(from_encoding, to_encoding, 0 TSRMLS_CC); if (convd == NULL) { - php_error(E_WARNING, "%s() unable to create converter", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to create converter"); RETURN_FALSE; } mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode) TSRMLS_CC); @@ -2981,8 +2941,7 @@ detect_end: stack_max += PHP_MBSTR_STACK_BLOCK_SIZE; ptmp = erealloc(stack, sizeof(pval **)*stack_max); if (ptmp == NULL) { - php_error(E_WARNING, "%s() stack err at %s:(%d)", - get_active_function_name(TSRMLS_C), __FILE__, __LINE__); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "stack err at %s:(%d)", __FILE__, __LINE__); continue; } stack = (pval ***)ptmp; @@ -3064,8 +3023,7 @@ php_mbstr_numericentity_exec(INTERNAL_FUNCTION_PARAMETERS, int type) convert_to_string_ex(arg3); no_encoding = mbfl_name2no_encoding(Z_STRVAL_PP(arg3)); if (no_encoding == mbfl_no_encoding_invalid) { - php_error(E_WARNING, "%s() unknown encoding \"%s\"", - get_active_function_name(TSRMLS_C), Z_STRVAL_PP(arg3)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown encoding \"%s\"", Z_STRVAL_PP(arg3)); RETURN_FALSE; } else { string.no_encoding = no_encoding; @@ -3178,8 +3136,7 @@ PHP_FUNCTION(mb_send_mail) if (Z_STRVAL_PP(argv[0])) { to = Z_STRVAL_PP(argv[0]); } else { - php_error(E_WARNING, "%s() no to field", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "no to field"); err = 1; } @@ -3200,8 +3157,7 @@ PHP_FUNCTION(mb_send_mail) subject = Z_STRVAL_PP(argv[1]); } } else { - php_error(E_WARNING, "%s() no subject field", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "no subject field"); err = 1; } @@ -3223,8 +3179,7 @@ PHP_FUNCTION(mb_send_mail) } } else { /* this is not really an error, so it is allowed. */ - php_error(E_WARNING, "%s() no message string", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "no message string"); message = NULL; } |
