summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_exceptions.c4
-rw-r--r--Zend/zend_execute_API.c2
-rw-r--r--Zend/zend_hash.h5
-rw-r--r--Zend/zend_ini_scanner.c2
-rw-r--r--Zend/zend_ini_scanner.l2
-rw-r--r--Zend/zend_language_scanner.c2
-rw-r--r--Zend/zend_language_scanner.l2
-rw-r--r--Zend/zend_string.c2
-rw-r--r--Zend/zend_vm_def.h2
-rw-r--r--Zend/zend_vm_execute.h2
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) {