diff options
-rw-r--r-- | README.NEW-OUTPUT-API | 2 | ||||
-rw-r--r-- | Zend/zend_compile.c | 5 | ||||
-rw-r--r-- | ext/odbc/php_odbc.c | 2 | ||||
-rw-r--r-- | ext/pgsql/pgsql.c | 36 | ||||
-rw-r--r-- | ext/pgsql/tests/bug65119.phpt | 40 | ||||
-rw-r--r-- | ext/session/mod_files.c | 5 | ||||
-rw-r--r-- | ext/session/session.c | 45 | ||||
-rw-r--r-- | ext/session/tests/bug61470.phpt | 6 | ||||
-rw-r--r-- | ext/session/tests/bug68063.phpt | 20 | ||||
-rw-r--r-- | ext/session/tests/session_basic3.phpt | 18 | ||||
-rw-r--r-- | ext/session/tests/session_regenerate_id_basic.phpt | 4 | ||||
-rw-r--r-- | ext/session/tests/session_regenerate_id_error.phpt | 44 | ||||
-rw-r--r-- | ext/session/tests/session_regenerate_id_variation1.phpt | 4 | ||||
-rw-r--r-- | ext/standard/browscap.c | 2 | ||||
-rw-r--r-- | ext/standard/head.c | 2 | ||||
-rw-r--r-- | main/main.c | 6 | ||||
-rw-r--r-- | main/php_scandir.c | 2 | ||||
-rw-r--r-- | tests/basic/bug67988.phpt | 27 | ||||
-rw-r--r-- | tests/basic/encoding.phpt | 14 |
19 files changed, 220 insertions, 64 deletions
diff --git a/README.NEW-OUTPUT-API b/README.NEW-OUTPUT-API index 7d9cc1016f..c43649a837 100644 --- a/README.NEW-OUTPUT-API +++ b/README.NEW-OUTPUT-API @@ -34,7 +34,7 @@ API adjustment to the old output control code: php_output_handler_started(handler_name, handler_name_len TSRMLS_CC); Flushing one output buffer: - // php_ob_end_buffer(1, 1 TSRMLS_CC); + // php_end_ob_buffer(1, 1 TSRMLS_CC); php_output_flush(TSRMLS_C); Flushing all output buffers: diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 4720b4ff59..cffed9c7d4 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1029,7 +1029,7 @@ void zend_do_early_binding(void) /* {{{ */ zend_class_entry *ce; parent_name = CT_CONSTANT(fetch_class_opline->op2); - if (((ce = zend_lookup_class(Z_STR_P(parent_name))) == NULL) || + if (((ce = zend_lookup_class_ex(Z_STR_P(parent_name), parent_name + 1, 0)) == NULL) || ((CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_CLASSES) && (ce->type == ZEND_INTERNAL_CLASS))) { if (CG(compiler_options) & ZEND_COMPILE_DELAYED_BINDING) { @@ -1083,7 +1083,8 @@ ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array) /* {{ CG(in_compilation) = 1; while (opline_num != (uint32_t)-1) { - if ((ce = zend_lookup_class(Z_STR_P(RT_CONSTANT(op_array, op_array->opcodes[opline_num-1].op2)))) != NULL) { + zval *parent_name = RT_CONSTANT(op_array, op_array->opcodes[opline_num-1].op2); + if ((ce = zend_lookup_class_ex(Z_STR_P(parent_name), parent_name + 1, 0)) != NULL) { do_bind_inherited_class(op_array, &op_array->opcodes[opline_num], EG(class_table), ce, 0); } opline_num = op_array->opcodes[opline_num].result.opline_num; diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index cd4964346f..692128c59f 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -1358,7 +1358,7 @@ PHP_FUNCTION(odbc_execute) rc = SQLBindParameter(result->stmt, (SQLUSMALLINT)i, SQL_PARAM_INPUT, ctype, sqltype, precision, scale, - (void *)params[i-1].fp, 0, + (void *)(intptr_t)params[i-1].fp, 0, ¶ms[i-1].vallen); } else { #ifdef HAVE_DBMAKER diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 225ff65c30..d414025ab7 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -4151,7 +4151,7 @@ PHP_FUNCTION(pg_copy_to) PHP_FUNCTION(pg_copy_from) { zval *pgsql_link = NULL, *pg_rows; - zval *tmp; + zval *value; char *table_name, *pg_delim = NULL, *pg_null_as = NULL; size_t table_name_len, pg_delim_len, pg_null_as_len; int pg_null_as_free = 0; @@ -4200,39 +4200,49 @@ PHP_FUNCTION(pg_copy_from) int command_failed = 0; PQclear(pgsql_result); #if HAVE_PQPUTCOPYDATA - ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pg_rows), tmp) { - convert_to_string_ex(tmp); - query = (char *)emalloc(Z_STRLEN_P(tmp) + 2); - strlcpy(query, Z_STRVAL_P(tmp), Z_STRLEN_P(tmp) + 2); - if(Z_STRLEN_P(tmp) > 0 && *(query + Z_STRLEN_P(tmp) - 1) != '\n') { - strlcat(query, "\n", Z_STRLEN_P(tmp) + 2); + ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pg_rows), value) { + zval tmp; + ZVAL_DUP(&tmp, value); + convert_to_string_ex(&tmp); + query = (char *)emalloc(Z_STRLEN(tmp) + 2); + strlcpy(query, Z_STRVAL(tmp), Z_STRLEN(tmp) + 2); + if(Z_STRLEN(tmp) > 0 && *(query + Z_STRLEN(tmp) - 1) != '\n') { + strlcat(query, "\n", Z_STRLEN(tmp) + 2); } if (PQputCopyData(pgsql, query, (int)strlen(query)) != 1) { efree(query); + zval_dtor(&tmp); PHP_PQ_ERROR("copy failed: %s", pgsql); RETURN_FALSE; } efree(query); + zval_dtor(&tmp); } ZEND_HASH_FOREACH_END(); + if (PQputCopyEnd(pgsql, NULL) != 1) { PHP_PQ_ERROR("putcopyend failed: %s", pgsql); RETURN_FALSE; } #else - ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pg_rows), tmp) { - convert_to_string_ex(tmp); - query = (char *)emalloc(Z_STRLEN_P(tmp) + 2); - strlcpy(query, Z_STRVAL_P(tmp), Z_STRLEN_P(tmp) + 2); - if(Z_STRLEN_P(tmp) > 0 && *(query + Z_STRLEN_P(tmp) - 1) != '\n') { - strlcat(query, "\n", Z_STRLEN_P(tmp) + 2); + ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pg_rows), value) { + zval tmp; + ZVAL_DUP(&tmp, value); + convert_to_string_ex(&tmp); + query = (char *)emalloc(Z_STRLEN(tmp) + 2); + strlcpy(query, Z_STRVAL(tmp), Z_STRLEN(tmp) + 2); + if(Z_STRLEN(tmp) > 0 && *(query + Z_STRLEN(tmp) - 1) != '\n') { + strlcat(query, "\n", Z_STRLEN(tmp) + 2); } if (PQputline(pgsql, query)==EOF) { efree(query); + zval_dtor(&tmp); PHP_PQ_ERROR("copy failed: %s", pgsql); RETURN_FALSE; } efree(query); + zval_dtor(&tmp); } ZEND_HASH_FOREACH_END(); + if (PQputline(pgsql, "\\.\n") == EOF) { PHP_PQ_ERROR("putline failed: %s", pgsql); RETURN_FALSE; diff --git a/ext/pgsql/tests/bug65119.phpt b/ext/pgsql/tests/bug65119.phpt new file mode 100644 index 0000000000..c02ff28f06 --- /dev/null +++ b/ext/pgsql/tests/bug65119.phpt @@ -0,0 +1,40 @@ +--TEST-- +Bug #65119 (pg_copy_from() modifies input array variable) +--SKIPIF-- +<?php +include("skipif.inc"); +?> +--FILE-- +<?php +include 'config.inc'; + +function test(Array $values, $conn_str) { + $connection = pg_pconnect($conn_str, PGSQL_CONNECT_FORCE_NEW); + pg_query("begin"); + pg_query("CREATE TABLE bug65119 (i INTEGER)"); + pg_copy_from($connection, "bug65119", $values, "\t", "NULL"); + pg_query("rollback"); +} + +$values = Array(1,2,3); +var_dump($values); +test($values, $conn_str); +var_dump($values); +?> +--EXPECT-- +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c index 561d216adf..2db5159d91 100644 --- a/ext/session/mod_files.c +++ b/ext/session/mod_files.c @@ -159,6 +159,7 @@ static void ps_files_open(ps_files *data, const char *key) #if !defined(O_NOFOLLOW) || !defined(PHP_WIN32) struct stat sbuf; #endif + int ret; if (data->fd < 0 || !data->lastkey || strcmp(key, data->lastkey)) { if (data->lastkey) { @@ -201,7 +202,9 @@ static void ps_files_open(ps_files *data, const char *key) return; } #endif - flock(data->fd, LOCK_EX); + do { + ret = flock(data->fd, LOCK_EX); + } while (ret == -1 && errno == EINTR); #ifdef F_SETFD # ifndef FD_CLOEXEC diff --git a/ext/session/session.c b/ext/session/session.c index 010de352b9..c6f5f5230f 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -2010,6 +2010,7 @@ static PHP_FUNCTION(session_id) static PHP_FUNCTION(session_regenerate_id) { zend_bool del_ses = 0; + zend_string *data = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS(), "|b", &del_ses) == FAILURE) { return; @@ -2020,26 +2021,31 @@ static PHP_FUNCTION(session_regenerate_id) RETURN_FALSE; } - if (PS(session_status) == php_session_active) { - if (PS(id)) { - if (del_ses && PS(mod)->s_destroy(&PS(mod_data), PS(id)) == FAILURE) { - php_error_docref(NULL, E_WARNING, "Session object destruction failed"); - RETURN_FALSE; - } - zend_string_release(PS(id)); - PS(id) = NULL; - } + if (PS(session_status) != php_session_active) { + php_error_docref(NULL, E_WARNING, "Cannot regenerate session id - session is not active"); + RETURN_FALSE; + } - PS(id) = PS(mod)->s_create_sid(&PS(mod_data)); - if (PS(id)) { - PS(send_cookie) = 1; - php_session_reset_id(); - RETURN_TRUE; - } else { - PS(id) = STR_EMPTY_ALLOC(); + /* Keep current session data */ + data = php_session_encode(); + + if (del_ses && PS(mod)->s_destroy(&PS(mod_data), PS(id)) == FAILURE) { + php_error_docref(NULL, E_WARNING, "Session object destruction failed"); + } + php_rshutdown_session_globals(); + php_rinit_session_globals(); + + php_session_initialize(); + /* Restore session data */ + if (data) { + if (PS(session_vars)) { + zend_string_release(PS(session_vars)); + PS(session_vars) = NULL; } + php_session_decode(data); + zend_string_release(data); } - RETURN_FALSE; + RETURN_TRUE; } /* }}} */ @@ -2195,6 +2201,11 @@ static PHP_FUNCTION(session_start) RETURN_FALSE; } + if (PS(id) && !(PS(id)->len)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot start session with empty session ID"); + RETURN_FALSE; + } + /* set options */ if (options) { ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(options), num_idx, str_idx, value) { diff --git a/ext/session/tests/bug61470.phpt b/ext/session/tests/bug61470.phpt index 8be1a540b5..d8b4c2014f 100644 --- a/ext/session/tests/bug61470.phpt +++ b/ext/session/tests/bug61470.phpt @@ -2,8 +2,6 @@ Bug #61470 (session_regenerate_id() does not create session file) --SKIPIF-- <?php include('skipif.inc'); ?> ---XFAIL-- -Semantecs of create id seems changed. Will be fixed soon. --INI-- --FILE-- <?php @@ -24,6 +22,6 @@ var_dump(is_file($file2)); unlink($file1); unlink($file2); --EXPECT-- -bool(true); -bool(true); +bool(true) +bool(true) diff --git a/ext/session/tests/bug68063.phpt b/ext/session/tests/bug68063.phpt new file mode 100644 index 0000000000..d3da470d06 --- /dev/null +++ b/ext/session/tests/bug68063.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #68063 (Empty session IDs do still start sessions) +--SKIPIF-- +<?php include('skipif.inc'); ?> +--INI-- +--FILE-- +<?php +// Could also be set with a cookie like "PHPSESSID=; path=/" +session_id(''); + +// Will still start the session and return true +var_dump(session_start()); + +// Returns an empty string +var_dump(session_id()); +?> +--EXPECTF-- +Warning: session_start(): Cannot start session with empty session ID in %s on line %d +bool(false) +string(0) "" diff --git a/ext/session/tests/session_basic3.phpt b/ext/session/tests/session_basic3.phpt index 08e3aae295..49c22032bd 100644 --- a/ext/session/tests/session_basic3.phpt +++ b/ext/session/tests/session_basic3.phpt @@ -180,15 +180,15 @@ ob_end_flush(); *** Testing basic session functionality : variation3 use_trans_sid *** *** Test trans sid *** -<a href="/?PHPSESSID=testid&PHPSESSID=testid">test</a> -<a href="/?PHPSESSID=testid&PHPSESSID=testid#bar">test</a> -<a href="/?foo&PHPSESSID=testid&PHPSESSID=testid">test</a> -<a href="/?foo&PHPSESSID=testid&PHPSESSID=testid#bar">test</a> -<a href="/?foo=var&PHPSESSID=testid&PHPSESSID=testid">test</a> -<a href="/?foo=var&PHPSESSID=testid&PHPSESSID=testid#bar">test</a> -<a href="file.php?PHPSESSID=testid&PHPSESSID=testid">test</a> -<a href="file.php?foo&PHPSESSID=testid&PHPSESSID=testid">test</a> -<a href="file.php?foo=var&PHPSESSID=testid&PHPSESSID=testid">test</a> +<a href="/?PHPSESSID=testid">test</a> +<a href="/?PHPSESSID=testid#bar">test</a> +<a href="/?foo&PHPSESSID=testid">test</a> +<a href="/?foo&PHPSESSID=testid#bar">test</a> +<a href="/?foo=var&PHPSESSID=testid">test</a> +<a href="/?foo=var&PHPSESSID=testid#bar">test</a> +<a href="file.php?PHPSESSID=testid">test</a> +<a href="file.php?foo&PHPSESSID=testid">test</a> +<a href="file.php?foo=var&PHPSESSID=testid">test</a> <a href="http://php.net">test</a> <a href="http://php.net/">test</a> <a href="http://php.net/#bar">test</a> diff --git a/ext/session/tests/session_regenerate_id_basic.phpt b/ext/session/tests/session_regenerate_id_basic.phpt index 910620a66f..cdf2bb1f2b 100644 --- a/ext/session/tests/session_regenerate_id_basic.phpt +++ b/ext/session/tests/session_regenerate_id_basic.phpt @@ -31,12 +31,16 @@ ob_end_flush(); --EXPECTF-- *** Testing session_regenerate_id() : basic functionality *** string(0) "" + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) string(0) "" bool(true) bool(true) string(%d) "%s" bool(true) + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) string(0) "" Done diff --git a/ext/session/tests/session_regenerate_id_error.phpt b/ext/session/tests/session_regenerate_id_error.phpt index 9e119f17fb..9c94d8564b 100644 --- a/ext/session/tests/session_regenerate_id_error.phpt +++ b/ext/session/tests/session_regenerate_id_error.phpt @@ -96,63 +96,103 @@ ob_end_flush(); *** Testing session_regenerate_id() : error functionality *** -- Iteration 1 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 2 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 3 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 4 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 5 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 6 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 7 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 8 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 9 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 10 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 11 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 12 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 13 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 14 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 15 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 16 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 17 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 18 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 19 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 20 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 21 -- @@ -161,9 +201,13 @@ Warning: session_regenerate_id() expects parameter 1 to be boolean, object given NULL -- Iteration 22 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 23 -- + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) -- Iteration 24 -- diff --git a/ext/session/tests/session_regenerate_id_variation1.phpt b/ext/session/tests/session_regenerate_id_variation1.phpt index 95d4a77c8e..ca0ef35b10 100644 --- a/ext/session/tests/session_regenerate_id_variation1.phpt +++ b/ext/session/tests/session_regenerate_id_variation1.phpt @@ -31,12 +31,16 @@ ob_end_flush(); --EXPECTF-- *** Testing session_regenerate_id() : variation *** string(0) "" + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) string(0) "" bool(true) bool(true) string(%d) "%s" bool(true) + +Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in %s on line %d bool(false) string(0) "" Done diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c index 1e48c3c5a0..353e7cdccb 100644 --- a/ext/standard/browscap.c +++ b/ext/standard/browscap.c @@ -312,7 +312,7 @@ PHP_MINIT_FUNCTION(browscap) /* {{{ */ #ifdef ZTS ts_allocate_id(&browscap_globals_id, sizeof(browser_data), - browscap_globals_ctor, NULL); + (ts_allocate_ctor) browscap_globals_ctor, NULL); #endif /* ctor call not really needed for non-ZTS */ diff --git a/ext/standard/head.c b/ext/standard/head.c index 7219737310..a8daf1e4ef 100644 --- a/ext/standard/head.c +++ b/ext/standard/head.c @@ -281,7 +281,7 @@ PHP_FUNCTION(headers_list) return; } - if (!&SG(sapi_headers).headers) { + if (!&SG(sapi_headers).headers.count) { RETURN_FALSE; } array_init(return_value); diff --git a/main/main.c b/main/main.c index 1312528def..d5d101ae55 100644 --- a/main/main.c +++ b/main/main.c @@ -423,8 +423,6 @@ static PHP_INI_MH(OnUpdateInternalEncoding) { if (new_value) { OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); - } else { - PG(internal_encoding) = SG(default_charset); } return SUCCESS; } @@ -436,8 +434,6 @@ static PHP_INI_MH(OnUpdateInputEncoding) { if (new_value) { OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); - } else { - PG(input_encoding) = SG(default_charset); } return SUCCESS; } @@ -449,8 +445,6 @@ static PHP_INI_MH(OnUpdateOutputEncoding) { if (new_value) { OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); - } else { - PG(output_encoding) = SG(default_charset); } return SUCCESS; } diff --git a/main/php_scandir.c b/main/php_scandir.c index 9f6517dbf3..67bb25696c 100644 --- a/main/php_scandir.c +++ b/main/php_scandir.c @@ -112,7 +112,7 @@ PHPAPI int php_scandir(const char *dirname, struct dirent **namelist[], int (*se *namelist = vector; if (compare) { - qsort (*namelist, nfiles, sizeof(struct dirent *), compare); + qsort (*namelist, nfiles, sizeof(struct dirent *), (int (*) (const void *, const void *)) compare); } return nfiles; diff --git a/tests/basic/bug67988.phpt b/tests/basic/bug67988.phpt new file mode 100644 index 0000000000..e1d8e5d7d4 --- /dev/null +++ b/tests/basic/bug67988.phpt @@ -0,0 +1,27 @@ +--TEST-- +Bug #67988 (htmlspecialchars() does not respect default_charset specified by ini_set) +--INI-- +default_charset=UTF-8 +--FILE-- +<?php +ini_set('default_charset', 'cp1252'); + +var_dump(ini_get('default_charset')); +var_dump(ini_get('internal_encoding')); +var_dump(ini_get('input_encoding')); +var_dump(ini_get('output_encoding')); + +var_dump(htmlentities("\xA3", ENT_HTML5)); +var_dump(htmlentities("\xA3", ENT_HTML5, 'cp1252')); + +var_dump(bin2hex(html_entity_decode("£", ENT_HTML5))); +var_dump(bin2hex(html_entity_decode("£", ENT_HTML5, 'cp1252'))); +--EXPECT-- +string(6) "cp1252" +string(0) "" +string(0) "" +string(0) "" +string(7) "£" +string(7) "£" +string(2) "a3" +string(2) "a3" diff --git a/tests/basic/encoding.phpt b/tests/basic/encoding.phpt index d9f7e0caad..c513cbfa79 100644 --- a/tests/basic/encoding.phpt +++ b/tests/basic/encoding.phpt @@ -14,14 +14,14 @@ var_dump(ini_get('input_encoding')); var_dump(ini_get('internal_encoding')); var_dump(ini_get('output_encoding')); -var_dump(ini_set('input_encoding', 'ISO-8859-1')); -var_dump(ini_set('internal_encoding', 'ISO-8859-1')); -var_dump(ini_set('output_encoding', 'ISO-8859-1')); +var_dump(ini_set('input_encoding', 'EUC-JP')); +var_dump(ini_set('internal_encoding', 'EUC-JP')); +var_dump(ini_set('output_encoding', 'EUC-JP')); var_dump(ini_get('input_encoding')); var_dump(ini_get('internal_encoding')); var_dump(ini_get('output_encoding')); ---EXPECTF-- +--EXPECT-- string(5) "UTF-8" string(0) "" string(0) "" @@ -34,6 +34,6 @@ string(0) "" string(0) "" string(0) "" string(0) "" -string(10) "ISO-8859-1" -string(10) "ISO-8859-1" -string(10) "ISO-8859-1" +string(6) "EUC-JP" +string(6) "EUC-JP" +string(6) "EUC-JP" |