summaryrefslogtreecommitdiff
path: root/ext/ereg/ereg.c
diff options
context:
space:
mode:
authorKalle Sommer Nielsen <kalle@php.net>2010-09-23 04:51:02 +0000
committerKalle Sommer Nielsen <kalle@php.net>2010-09-23 04:51:02 +0000
commita6adb25d85ceb6052ab0c29fff4d399296368fa3 (patch)
tree2bead0f362e18f51e1fb3fc9a1fefdfad4c5761a /ext/ereg/ereg.c
parent9c4a92cf51cee91416270ad6692b7fc5bdbca119 (diff)
downloadphp-git-a6adb25d85ceb6052ab0c29fff4d399296368fa3.tar.gz
Eliminate a TSRMLS_FETCH() call in case of an error in one of the ereg functions
Diffstat (limited to 'ext/ereg/ereg.c')
-rw-r--r--ext/ereg/ereg.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/ext/ereg/ereg.c b/ext/ereg/ereg.c
index e0c1ce3798..ffeee15acb 100644
--- a/ext/ereg/ereg.c
+++ b/ext/ereg/ereg.c
@@ -246,7 +246,7 @@ PHP_MINFO_FUNCTION(ereg)
/* {{{ php_ereg_eprint
* php_ereg_eprint - convert error number to name
*/
-static void php_ereg_eprint(int err, regex_t *re) {
+static void php_ereg_eprint(int err, regex_t *re TSRMLS_DC) {
char *buf = NULL, *message = NULL;
size_t len;
size_t buf_len;
@@ -265,8 +265,6 @@ static void php_ereg_eprint(int err, regex_t *re) {
#endif
len = regerror(err, re, NULL, 0);
if (len) {
- TSRMLS_FETCH();
-
message = (char *)safe_emalloc((buf_len + len + 2), sizeof(char), 0);
if (!message) {
return; /* fail silently */
@@ -330,7 +328,7 @@ static void php_ereg(INTERNAL_FUNCTION_PARAMETERS, int icase)
}
if (err) {
- php_ereg_eprint(err, &re);
+ php_ereg_eprint(err, &re TSRMLS_CC);
RETURN_FALSE;
}
@@ -343,7 +341,7 @@ static void php_ereg(INTERNAL_FUNCTION_PARAMETERS, int icase)
/* actually execute the regular expression */
err = regexec(&re, string, re.re_nsub+1, subs, 0);
if (err && err != REG_NOMATCH) {
- php_ereg_eprint(err, &re);
+ php_ereg_eprint(err, &re TSRMLS_CC);
regfree(&re);
efree(subs);
RETURN_FALSE;
@@ -426,7 +424,7 @@ PHP_EREG_API char *php_ereg_replace(const char *pattern, const char *replace, co
err = regcomp(&re, pattern, copts);
if (err) {
- php_ereg_eprint(err, &re);
+ php_ereg_eprint(err, &re TSRMLS_CC);
return ((char *) -1);
}
@@ -445,7 +443,7 @@ PHP_EREG_API char *php_ereg_replace(const char *pattern, const char *replace, co
err = regexec(&re, &string[pos], re.re_nsub+1, subs, (pos ? REG_NOTBOL : 0));
if (err && err != REG_NOMATCH) {
- php_ereg_eprint(err, &re);
+ php_ereg_eprint(err, &re TSRMLS_CC);
efree(subs);
efree(buf);
regfree(&re);
@@ -649,7 +647,7 @@ static void php_split(INTERNAL_FUNCTION_PARAMETERS, int icase)
err = regcomp(&re, spliton, REG_EXTENDED | copts);
if (err) {
- php_ereg_eprint(err, &re);
+ php_ereg_eprint(err, &re TSRMLS_CC);
RETURN_FALSE;
}
@@ -693,7 +691,7 @@ static void php_split(INTERNAL_FUNCTION_PARAMETERS, int icase)
/* see if we encountered an error */
if (err && err != REG_NOMATCH) {
- php_ereg_eprint(err, &re);
+ php_ereg_eprint(err, &re TSRMLS_CC);
regfree(&re);
zend_hash_destroy(Z_ARRVAL_P(return_value));
efree(Z_ARRVAL_P(return_value));