diff options
-rw-r--r-- | NEWS | 63 | ||||
-rw-r--r-- | Zend/Makefile.am | 2 | ||||
-rw-r--r-- | Zend/Zend.dsp | 4 | ||||
-rw-r--r-- | Zend/ZendTS.dsp | 4 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 2 | ||||
-rw-r--r-- | Zend/zend_language_scanner_defs.h | 2 | ||||
-rw-r--r-- | Zend/zend_vm_gen.php | 28 | ||||
-rw-r--r-- | Zend/zend_vm_opcodes.c | 193 | ||||
-rw-r--r-- | Zend/zend_vm_opcodes.h | 172 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | ext/pdo_odbc/odbc_stmt.c | 3 | ||||
-rw-r--r-- | win32/build/config.w32 | 2 |
12 files changed, 296 insertions, 181 deletions
@@ -1,6 +1,69 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +<<<<<<< HEAD ?? ??? 20??, PHP 5.6.0 +======= +?? ??? 2013, PHP 5.5.8 + +- Core: + . Disallowed JMP into a finally block. (Laruence) + . Added validation of class names in the autoload process. (Dmitry) + . Fixed invalid C code in zend_strtod.c. (Lior Kaplan) + . Fixed bug #66041 (list() fails to unpack yielded ArrayAccess object). + (Nikita) + . Fixed bug #65764 (generators/throw_rethrow FAIL with + ZEND_COMPILE_EXTENDED_INFO). (Nikita) + . Fixed bug #61645 (fopen and O_NONBLOCK). (Mike) + . Fixed bug #66218 (zend_register_functions breaks reflection). (Remi) + +- Date: + . Fixed bug #66060 (Heap buffer over-read in DateInterval). (Remi) + . Fixed bug #65768 (DateTimeImmutable::diff does not work). (Nikita Nefedov) + +- DOM: + . Fixed bug #65196 (Passing DOMDocumentFragment to DOMDocument::saveHTML() + Produces invalid Markup). (Mike) + +- Exif: + . Fixed bug #65873 (Integer overflow in exif_read_data()). (Stas) + +- Filter: + . Fixed bug #66229 (128.0.0.0/16 isn't reserved any longer). (Adam) + +- GD: + . Fixed bug #64405 (Use freetype-config for determining freetype2 dir(s)). + (Adam) + +- PDO_odbc: + . Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries). + (michael at orlitzky dot com) + +- MySQLi: + . Fixed bug #65486 (mysqli_poll() is broken on win x64). (Anatol) + +- OPCache: + . Fixed reavlidate_path=1 behavior to avoid caching of symlinks values. + (Dmitry) + +- SNMP: + . Fixed SNMP_ERR_TOOBIG handling for bulk walk operations. (Boris Lytochkin) + +- SOAP + . Fixed bug #66112 (Use after free condition in SOAP extension). + (martin dot koegler at brz dot gv dot at) + +- Sockets: + . Fixed bug #65923 (ext/socket assumes AI_V4MAPPED is defined). (Felipe) + +- XSL + . Fixed bug #49634 (Segfault throwing an exception in a XSL registered + function). (Mike) + +- ZIP: + . Fixed Bug #66321 (ZipArchive::open() ze_obj->filename_len not real). (Remi) + +12 Dec 2013, PHP 5.5.7 +>>>>>>> PHP-5.5 - CLI server: . Added some MIME types to the CLI web server. (Chris Jones) diff --git a/Zend/Makefile.am b/Zend/Makefile.am index d9ce4c61ba..65c4113497 100644 --- a/Zend/Makefile.am +++ b/Zend/Makefile.am @@ -10,7 +10,7 @@ libZend_la_SOURCES=\ zend_ini_parser.y zend_ini_scanner.l \ zend_alloc.c zend_compile.c zend_constants.c zend_dynamic_array.c \ zend_execute.c zend_execute_API.c zend_highlight.c zend_llist.c \ - zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \ + zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \ zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \ zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \ zend_ini.c zend_qsort.c zend_objects.c zend_object_handlers.c \ diff --git a/Zend/Zend.dsp b/Zend/Zend.dsp index d8bb03b9e8..348e1abaa5 100644 --- a/Zend/Zend.dsp +++ b/Zend/Zend.dsp @@ -265,6 +265,10 @@ SOURCE=.\zend_ts_hash.c SOURCE=.\zend_variables.c
# End Source File
+# Begin Source File
+
+SOURCE=.\zend_vm_opcodes.c
+# End Source File
# End Group
# Begin Group "Header Files"
diff --git a/Zend/ZendTS.dsp b/Zend/ZendTS.dsp index 5dfa24d5b9..21210f1087 100644 --- a/Zend/ZendTS.dsp +++ b/Zend/ZendTS.dsp @@ -295,6 +295,10 @@ SOURCE=.\zend_ts_hash.c SOURCE=.\zend_variables.c
# End Source File
+# Begin Source File
+
+SOURCE=.\zend_vm_opcodes.c
+# End Source File
# End Group
# Begin Group "Header Files"
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 76e3e56451..22ac9fa3aa 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.13.5 on Sun Dec 22 13:03:33 2013 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 5926e3c61d..70ce8b890c 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.13.5 on Sun Dec 22 13:03:33 2013 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php index 9e0e721e48..2088bf8074 100644 --- a/Zend/zend_vm_gen.php +++ b/Zend/zend_vm_gen.php @@ -1208,22 +1208,38 @@ function gen_vm($def, $skel) { out($f, $GLOBALS['header_text']); fputs($f, "#ifndef ZEND_VM_OPCODES_H\n#define ZEND_VM_OPCODES_H\n\n"); - + fputs($f, "ZEND_API const char *zend_get_opcode_name(zend_uchar opcode);\n\n"); + foreach ($opcodes as $code => $dsc) { $code = str_pad((string)$code,$code_len," ",STR_PAD_LEFT); $op = str_pad($dsc["op"],$max_opcode_len); fputs($f,"#define $op $code\n"); } - fputs($f,"\nstatic const char *zend_vm_opcodes_map[] = {\n"); + fputs($f, "\n#endif"); + fclose($f); + echo "zend_vm_opcodes.h generated successfully.\n"; + + // zend_vm_opcodes.c + $f = fopen(__DIR__ . "/zend_vm_opcodes.c", "w+") or die("ERROR: Cannot create zend_vm_opcodes.c\n"); + + // Insert header + out($f, $GLOBALS['header_text']); + fputs($f,"#include <stdio.h>\n"); + fputs($f,"#include <zend.h>\n\n"); + + fputs($f,"const char *zend_vm_opcodes_map[".($max_opcode + 1)."] = {\n"); for ($i = 0; $i <= $max_opcode; $i++) { fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n"); } - fputs($f, "};\n"); - - fputs($f, "\n#endif"); + fputs($f, "};\n\n"); + + fputs($f, "ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) {\n"); + fputs($f, "\treturn zend_vm_opcodes_map[opcode];\n"); + fputs($f, "}\n"); + fclose($f); - echo "zend_vm_opcodes.h generated successfully.\n"; + echo "zend_vm_opcodes.c generated successfully.\n"; // Generate zend_vm_execute.h $f = fopen(__DIR__ . "/zend_vm_execute.h", "w+") or die("ERROR: Cannot create zend_vm_execute.h\n"); diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c new file mode 100644 index 0000000000..22fc7cbcf3 --- /dev/null +++ b/Zend/zend_vm_opcodes.c @@ -0,0 +1,193 @@ +/* + +----------------------------------------------------------------------+ + | Zend Engine | + +----------------------------------------------------------------------+ + | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) | + +----------------------------------------------------------------------+ + | This source file is subject to version 2.00 of the Zend license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.zend.com/license/2_00.txt. | + | If you did not receive a copy of the Zend license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@zend.com so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Authors: Andi Gutmans <andi@zend.com> | + | Zeev Suraski <zeev@zend.com> | + | Dmitry Stogov <dmitry@zend.com> | + +----------------------------------------------------------------------+ +*/ + +#include <stdio.h> +#include <zend.h> + +const char *zend_vm_opcodes_map[164] = { + "ZEND_NOP", + "ZEND_ADD", + "ZEND_SUB", + "ZEND_MUL", + "ZEND_DIV", + "ZEND_MOD", + "ZEND_SL", + "ZEND_SR", + "ZEND_CONCAT", + "ZEND_BW_OR", + "ZEND_BW_AND", + "ZEND_BW_XOR", + "ZEND_BW_NOT", + "ZEND_BOOL_NOT", + "ZEND_BOOL_XOR", + "ZEND_IS_IDENTICAL", + "ZEND_IS_NOT_IDENTICAL", + "ZEND_IS_EQUAL", + "ZEND_IS_NOT_EQUAL", + "ZEND_IS_SMALLER", + "ZEND_IS_SMALLER_OR_EQUAL", + "ZEND_CAST", + "ZEND_QM_ASSIGN", + "ZEND_ASSIGN_ADD", + "ZEND_ASSIGN_SUB", + "ZEND_ASSIGN_MUL", + "ZEND_ASSIGN_DIV", + "ZEND_ASSIGN_MOD", + "ZEND_ASSIGN_SL", + "ZEND_ASSIGN_SR", + "ZEND_ASSIGN_CONCAT", + "ZEND_ASSIGN_BW_OR", + "ZEND_ASSIGN_BW_AND", + "ZEND_ASSIGN_BW_XOR", + "ZEND_PRE_INC", + "ZEND_PRE_DEC", + "ZEND_POST_INC", + "ZEND_POST_DEC", + "ZEND_ASSIGN", + "ZEND_ASSIGN_REF", + "ZEND_ECHO", + "ZEND_PRINT", + "ZEND_JMP", + "ZEND_JMPZ", + "ZEND_JMPNZ", + "ZEND_JMPZNZ", + "ZEND_JMPZ_EX", + "ZEND_JMPNZ_EX", + "ZEND_CASE", + "ZEND_SWITCH_FREE", + "ZEND_BRK", + "ZEND_CONT", + "ZEND_BOOL", + "ZEND_INIT_STRING", + "ZEND_ADD_CHAR", + "ZEND_ADD_STRING", + "ZEND_ADD_VAR", + "ZEND_BEGIN_SILENCE", + "ZEND_END_SILENCE", + "ZEND_INIT_FCALL_BY_NAME", + "ZEND_DO_FCALL", + "ZEND_DO_FCALL_BY_NAME", + "ZEND_RETURN", + "ZEND_RECV", + "ZEND_RECV_INIT", + "ZEND_SEND_VAL", + "ZEND_SEND_VAR", + "ZEND_SEND_REF", + "ZEND_NEW", + "ZEND_INIT_NS_FCALL_BY_NAME", + "ZEND_FREE", + "ZEND_INIT_ARRAY", + "ZEND_ADD_ARRAY_ELEMENT", + "ZEND_INCLUDE_OR_EVAL", + "ZEND_UNSET_VAR", + "ZEND_UNSET_DIM", + "ZEND_UNSET_OBJ", + "ZEND_FE_RESET", + "ZEND_FE_FETCH", + "ZEND_EXIT", + "ZEND_FETCH_R", + "ZEND_FETCH_DIM_R", + "ZEND_FETCH_OBJ_R", + "ZEND_FETCH_W", + "ZEND_FETCH_DIM_W", + "ZEND_FETCH_OBJ_W", + "ZEND_FETCH_RW", + "ZEND_FETCH_DIM_RW", + "ZEND_FETCH_OBJ_RW", + "ZEND_FETCH_IS", + "ZEND_FETCH_DIM_IS", + "ZEND_FETCH_OBJ_IS", + "ZEND_FETCH_FUNC_ARG", + "ZEND_FETCH_DIM_FUNC_ARG", + "ZEND_FETCH_OBJ_FUNC_ARG", + "ZEND_FETCH_UNSET", + "ZEND_FETCH_DIM_UNSET", + "ZEND_FETCH_OBJ_UNSET", + "ZEND_FETCH_DIM_TMP_VAR", + "ZEND_FETCH_CONSTANT", + "ZEND_GOTO", + "ZEND_EXT_STMT", + "ZEND_EXT_FCALL_BEGIN", + "ZEND_EXT_FCALL_END", + "ZEND_EXT_NOP", + "ZEND_TICKS", + "ZEND_SEND_VAR_NO_REF", + "ZEND_CATCH", + "ZEND_THROW", + "ZEND_FETCH_CLASS", + "ZEND_CLONE", + "ZEND_RETURN_BY_REF", + "ZEND_INIT_METHOD_CALL", + "ZEND_INIT_STATIC_METHOD_CALL", + "ZEND_ISSET_ISEMPTY_VAR", + "ZEND_ISSET_ISEMPTY_DIM_OBJ", + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + "ZEND_PRE_INC_OBJ", + "ZEND_PRE_DEC_OBJ", + "ZEND_POST_INC_OBJ", + "ZEND_POST_DEC_OBJ", + "ZEND_ASSIGN_OBJ", + NULL, + "ZEND_INSTANCEOF", + "ZEND_DECLARE_CLASS", + "ZEND_DECLARE_INHERITED_CLASS", + "ZEND_DECLARE_FUNCTION", + "ZEND_RAISE_ABSTRACT_ERROR", + "ZEND_DECLARE_CONST", + "ZEND_ADD_INTERFACE", + "ZEND_DECLARE_INHERITED_CLASS_DELAYED", + "ZEND_VERIFY_ABSTRACT_CLASS", + "ZEND_ASSIGN_DIM", + "ZEND_ISSET_ISEMPTY_PROP_OBJ", + "ZEND_HANDLE_EXCEPTION", + "ZEND_USER_OPCODE", + NULL, + "ZEND_JMP_SET", + "ZEND_DECLARE_LAMBDA_FUNCTION", + "ZEND_ADD_TRAIT", + "ZEND_BIND_TRAITS", + "ZEND_SEPARATE", + "ZEND_QM_ASSIGN_VAR", + "ZEND_JMP_SET_VAR", + "ZEND_DISCARD_EXCEPTION", + "ZEND_YIELD", + "ZEND_GENERATOR_RETURN", + "ZEND_FAST_CALL", + "ZEND_FAST_RET", +}; + +ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) { + return zend_vm_opcodes_map[opcode]; +} diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index 672f223bdd..ed02663c46 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -21,6 +21,8 @@ #ifndef ZEND_VM_OPCODES_H #define ZEND_VM_OPCODES_H +ZEND_API const char *zend_get_opcode_name(zend_uchar opcode); + #define ZEND_NOP 0 #define ZEND_ADD 1 #define ZEND_SUB 2 @@ -169,172 +171,4 @@ #define ZEND_FAST_RET 163 #define ZEND_RECV_VARIADIC 164 -static const char *zend_vm_opcodes_map[] = { - "ZEND_NOP", - "ZEND_ADD", - "ZEND_SUB", - "ZEND_MUL", - "ZEND_DIV", - "ZEND_MOD", - "ZEND_SL", - "ZEND_SR", - "ZEND_CONCAT", - "ZEND_BW_OR", - "ZEND_BW_AND", - "ZEND_BW_XOR", - "ZEND_BW_NOT", - "ZEND_BOOL_NOT", - "ZEND_BOOL_XOR", - "ZEND_IS_IDENTICAL", - "ZEND_IS_NOT_IDENTICAL", - "ZEND_IS_EQUAL", - "ZEND_IS_NOT_EQUAL", - "ZEND_IS_SMALLER", - "ZEND_IS_SMALLER_OR_EQUAL", - "ZEND_CAST", - "ZEND_QM_ASSIGN", - "ZEND_ASSIGN_ADD", - "ZEND_ASSIGN_SUB", - "ZEND_ASSIGN_MUL", - "ZEND_ASSIGN_DIV", - "ZEND_ASSIGN_MOD", - "ZEND_ASSIGN_SL", - "ZEND_ASSIGN_SR", - "ZEND_ASSIGN_CONCAT", - "ZEND_ASSIGN_BW_OR", - "ZEND_ASSIGN_BW_AND", - "ZEND_ASSIGN_BW_XOR", - "ZEND_PRE_INC", - "ZEND_PRE_DEC", - "ZEND_POST_INC", - "ZEND_POST_DEC", - "ZEND_ASSIGN", - "ZEND_ASSIGN_REF", - "ZEND_ECHO", - "ZEND_PRINT", - "ZEND_JMP", - "ZEND_JMPZ", - "ZEND_JMPNZ", - "ZEND_JMPZNZ", - "ZEND_JMPZ_EX", - "ZEND_JMPNZ_EX", - "ZEND_CASE", - "ZEND_SWITCH_FREE", - "ZEND_BRK", - "ZEND_CONT", - "ZEND_BOOL", - "ZEND_INIT_STRING", - "ZEND_ADD_CHAR", - "ZEND_ADD_STRING", - "ZEND_ADD_VAR", - "ZEND_BEGIN_SILENCE", - "ZEND_END_SILENCE", - "ZEND_INIT_FCALL_BY_NAME", - "ZEND_DO_FCALL", - "ZEND_DO_FCALL_BY_NAME", - "ZEND_RETURN", - "ZEND_RECV", - "ZEND_RECV_INIT", - "ZEND_SEND_VAL", - "ZEND_SEND_VAR", - "ZEND_SEND_REF", - "ZEND_NEW", - "ZEND_INIT_NS_FCALL_BY_NAME", - "ZEND_FREE", - "ZEND_INIT_ARRAY", - "ZEND_ADD_ARRAY_ELEMENT", - "ZEND_INCLUDE_OR_EVAL", - "ZEND_UNSET_VAR", - "ZEND_UNSET_DIM", - "ZEND_UNSET_OBJ", - "ZEND_FE_RESET", - "ZEND_FE_FETCH", - "ZEND_EXIT", - "ZEND_FETCH_R", - "ZEND_FETCH_DIM_R", - "ZEND_FETCH_OBJ_R", - "ZEND_FETCH_W", - "ZEND_FETCH_DIM_W", - "ZEND_FETCH_OBJ_W", - "ZEND_FETCH_RW", - "ZEND_FETCH_DIM_RW", - "ZEND_FETCH_OBJ_RW", - "ZEND_FETCH_IS", - "ZEND_FETCH_DIM_IS", - "ZEND_FETCH_OBJ_IS", - "ZEND_FETCH_FUNC_ARG", - "ZEND_FETCH_DIM_FUNC_ARG", - "ZEND_FETCH_OBJ_FUNC_ARG", - "ZEND_FETCH_UNSET", - "ZEND_FETCH_DIM_UNSET", - "ZEND_FETCH_OBJ_UNSET", - "ZEND_FETCH_DIM_TMP_VAR", - "ZEND_FETCH_CONSTANT", - "ZEND_GOTO", - "ZEND_EXT_STMT", - "ZEND_EXT_FCALL_BEGIN", - "ZEND_EXT_FCALL_END", - "ZEND_EXT_NOP", - "ZEND_TICKS", - "ZEND_SEND_VAR_NO_REF", - "ZEND_CATCH", - "ZEND_THROW", - "ZEND_FETCH_CLASS", - "ZEND_CLONE", - "ZEND_RETURN_BY_REF", - "ZEND_INIT_METHOD_CALL", - "ZEND_INIT_STATIC_METHOD_CALL", - "ZEND_ISSET_ISEMPTY_VAR", - "ZEND_ISSET_ISEMPTY_DIM_OBJ", - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - "ZEND_PRE_INC_OBJ", - "ZEND_PRE_DEC_OBJ", - "ZEND_POST_INC_OBJ", - "ZEND_POST_DEC_OBJ", - "ZEND_ASSIGN_OBJ", - NULL, - "ZEND_INSTANCEOF", - "ZEND_DECLARE_CLASS", - "ZEND_DECLARE_INHERITED_CLASS", - "ZEND_DECLARE_FUNCTION", - "ZEND_RAISE_ABSTRACT_ERROR", - "ZEND_DECLARE_CONST", - "ZEND_ADD_INTERFACE", - "ZEND_DECLARE_INHERITED_CLASS_DELAYED", - "ZEND_VERIFY_ABSTRACT_CLASS", - "ZEND_ASSIGN_DIM", - "ZEND_ISSET_ISEMPTY_PROP_OBJ", - "ZEND_HANDLE_EXCEPTION", - "ZEND_USER_OPCODE", - NULL, - "ZEND_JMP_SET", - "ZEND_DECLARE_LAMBDA_FUNCTION", - "ZEND_ADD_TRAIT", - "ZEND_BIND_TRAITS", - "ZEND_SEPARATE", - "ZEND_QM_ASSIGN_VAR", - "ZEND_JMP_SET_VAR", - "ZEND_DISCARD_EXCEPTION", - "ZEND_YIELD", - "ZEND_GENERATOR_RETURN", - "ZEND_FAST_CALL", - "ZEND_FAST_RET", - "ZEND_RECV_VARIADIC", -}; - -#endif
\ No newline at end of file +#endif diff --git a/configure.in b/configure.in index 29358b1c88..3369b9a4f6 100644 --- a/configure.in +++ b/configure.in @@ -1470,7 +1470,7 @@ PHP_ADD_SOURCES(Zend, \ zend_ini_parser.c zend_ini_scanner.c \ zend_alloc.c zend_compile.c zend_constants.c zend_dynamic_array.c zend_dtrace.c \ zend_execute_API.c zend_highlight.c zend_llist.c \ - zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \ + zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \ zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \ zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \ zend_ini.c zend_qsort.c zend_multibyte.c zend_ts_hash.c zend_stream.c \ diff --git a/ext/pdo_odbc/odbc_stmt.c b/ext/pdo_odbc/odbc_stmt.c index 89b67210c5..e0d7e62f23 100644 --- a/ext/pdo_odbc/odbc_stmt.c +++ b/ext/pdo_odbc/odbc_stmt.c @@ -551,7 +551,8 @@ static int odbc_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC) struct pdo_column_data *col = &stmt->columns[colno]; RETCODE rc; SWORD colnamelen; - SDWORD colsize, displaysize; + SDWORD colsize; + SQLLEN displaysize; rc = SQLDescribeCol(S->stmt, colno+1, S->cols[colno].colname, sizeof(S->cols[colno].colname)-1, &colnamelen, diff --git a/win32/build/config.w32 b/win32/build/config.w32 index 6e19c48967..0caa3c66f7 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -357,7 +357,7 @@ ADD_SOURCES("Zend", "zend_language_parser.c zend_language_scanner.c \ zend_ini_parser.c zend_ini_scanner.c zend_alloc.c zend_compile.c \ zend_constants.c zend_dynamic_array.c zend_exceptions.c \ zend_execute_API.c zend_highlight.c \ - zend_llist.c zend_opcode.c zend_operators.c zend_ptr_stack.c \ + zend_llist.c zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c \ zend_stack.c zend_variables.c zend.c zend_API.c zend_extensions.c \ zend_hash.c zend_list.c zend_indent.c zend_builtin_functions.c \ zend_sprintf.c zend_ini.c zend_qsort.c zend_multibyte.c zend_ts_hash.c \ |