diff options
-rw-r--r-- | Zend/zend_exceptions.c | 4 | ||||
-rw-r--r-- | Zend/zend_execute_API.c | 2 | ||||
-rw-r--r-- | Zend/zend_hash.h | 5 | ||||
-rw-r--r-- | Zend/zend_ini_scanner.c | 2 | ||||
-rw-r--r-- | Zend/zend_ini_scanner.l | 2 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 2 | ||||
-rw-r--r-- | Zend/zend_language_scanner.l | 2 | ||||
-rw-r--r-- | Zend/zend_string.c | 2 | ||||
-rw-r--r-- | Zend/zend_vm_def.h | 2 | ||||
-rw-r--r-- | Zend/zend_vm_execute.h | 2 |
10 files changed, 14 insertions, 11 deletions
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index bec30cd006..d8e183edf5 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -585,7 +585,7 @@ ZEND_METHOD(exception, getTraceAsString) { zval *trace, *frame; zend_ulong index; - zend_string *str, *key; + zend_string *str; int num = 0, len; char s_tmp[MAX_LENGTH_OF_LONG + 7 + 1 + 1]; @@ -594,7 +594,7 @@ ZEND_METHOD(exception, getTraceAsString) str = zend_string_alloc(0, 0); trace = zend_read_property(default_exception_ce, getThis(), "trace", sizeof("trace")-1, 1 TSRMLS_CC); - ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(trace), index, key, frame) { + ZEND_HASH_FOREACH_NUM_KEY_VAL(Z_ARRVAL_P(trace), index, frame) { _build_trace_string(frame, index, &str, &num TSRMLS_CC); } ZEND_HASH_FOREACH_END(); diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 461225da99..e43743c1dc 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1243,7 +1243,7 @@ ZEND_API void zend_timeout(int dummy) /* {{{ */ zend_on_timeout(EG(timeout_seconds) TSRMLS_CC); } - zend_error(E_ERROR, "Maximum execution time of %d second%s exceeded", EG(timeout_seconds), EG(timeout_seconds) == 1 ? "" : "s"); + zend_error(E_ERROR, "Maximum execution time of %pd second%s exceeded", EG(timeout_seconds), EG(timeout_seconds) == 1 ? "" : "s"); } /* }}} */ diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h index 5508a40bdf..ae71312ade 100644 --- a/Zend/zend_hash.h +++ b/Zend/zend_hash.h @@ -702,6 +702,11 @@ static inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht, HashPositio ZEND_HASH_FOREACH(ht, 0); \ _h = _p->h; \ _key = _p->key; + +#define ZEND_HASH_FOREACH_NUM_KEY_VAL(ht, _h, _val) \ + ZEND_HASH_FOREACH(ht, 0); \ + _h = _p->h; \ + _val = _z; #define ZEND_HASH_FOREACH_STR_KEY_VAL(ht, _key, _val) \ ZEND_HASH_FOREACH(ht, 0); \ diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c index 0dcec0444b..b41c4c3394 100644 --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@ -1897,7 +1897,7 @@ yy140: yyleng = YYCURSOR - SCNG(yy_text); #line 445 "Zend/zend_ini_scanner.l" { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ - char *sc = NULL; + unsigned char *sc = NULL; while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR) { case '\n': diff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l index 605d511f4f..1ed800ce52 100644 --- a/Zend/zend_ini_scanner.l +++ b/Zend/zend_ini_scanner.l @@ -443,7 +443,7 @@ SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR}) } <ST_RAW>{RAW_VALUE_CHARS} { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ - char *sc = NULL; + unsigned char *sc = NULL; while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR) { case '\n': diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 90fe7c4597..54a4e2a113 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1002,7 +1002,7 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo s = Z_STRVAL_P(zendlval); SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC); zval_ptr_dtor(zendlval); - ZVAL_STRINGL(zendlval, str, sz); + ZVAL_STRINGL(zendlval, (char *) str, sz); efree(str); } } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index fb016b4af8..fdb18c6e27 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -1000,7 +1000,7 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo s = Z_STRVAL_P(zendlval); SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC); zval_ptr_dtor(zendlval); - ZVAL_STRINGL(zendlval, str, sz); + ZVAL_STRINGL(zendlval, (char *) str, sz); efree(str); } } diff --git a/Zend/zend_string.c b/Zend/zend_string.c index 03ab71aff5..a9148f2c4a 100644 --- a/Zend/zend_string.c +++ b/Zend/zend_string.c @@ -34,12 +34,14 @@ ZEND_API zend_ulong zend_hash_func(const char *str, size_t len) return zend_inline_hash_func(str, len); } +#ifndef ZTS static void _str_dtor(zval *zv) { zend_string *str = Z_STR_P(zv); GC_FLAGS(str) &= ~IS_STR_INTERNED; GC_REFCOUNT(str) = 1; } +#endif void zend_interned_strings_init(TSRMLS_D) { diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 1586b4441c..07fd4bafb0 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -5962,11 +5962,9 @@ ZEND_VM_HANDLER(123, ZEND_TYPE_CHECK, CONST|TMP|VAR|CV, ANY) ZEND_VM_HANDLER(122, ZEND_DEFINED, CONST, ANY) { USE_OPLINE - zval *name; zend_constant *c; SAVE_OPLINE(); - name = GET_OP1_ZVAL_PTR(BP_VAR_R); if (CACHED_PTR(Z_CACHE_SLOT_P(opline->op1.zv))) { ZVAL_TRUE(EX_VAR(opline->result.var)); } else if ((c = zend_quick_get_constant(opline->op1.zv, 0 TSRMLS_CC)) == NULL) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index b772753ea4..0929507e92 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -3459,11 +3459,9 @@ static int ZEND_FASTCALL ZEND_TYPE_CHECK_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER static int ZEND_FASTCALL ZEND_DEFINED_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE - zval *name; zend_constant *c; SAVE_OPLINE(); - name = opline->op1.zv; if (CACHED_PTR(Z_CACHE_SLOT_P(opline->op1.zv))) { ZVAL_TRUE(EX_VAR(opline->result.var)); } else if ((c = zend_quick_get_constant(opline->op1.zv, 0 TSRMLS_CC)) == NULL) { |