summaryrefslogtreecommitdiff
path: root/ext/iconv
diff options
context:
space:
mode:
Diffstat (limited to 'ext/iconv')
-rw-r--r--ext/iconv/CREDITS2
-rw-r--r--ext/iconv/config.m4118
-rw-r--r--ext/iconv/iconv.c1840
-rw-r--r--ext/iconv/iconv.dsp107
-rw-r--r--ext/iconv/php_iconv.h86
-rw-r--r--ext/iconv/tests/Quotes.UTF-84
-rw-r--r--ext/iconv/tests/bug16069.phpt22
-rw-r--r--ext/iconv/tests/eucjp2iso2022jp.phpt27
-rw-r--r--ext/iconv/tests/eucjp2sjis.phpt58
-rw-r--r--ext/iconv/tests/eucjp2utf8.phpt58
-rw-r--r--ext/iconv/tests/iconv001.phpt18
-rw-r--r--ext/iconv/tests/iconv002.phpt30
-rw-r--r--ext/iconv/tests/iconv003.phpt13
-rw-r--r--ext/iconv/tests/iconv_mime_decode.phpt17
-rw-r--r--ext/iconv/tests/iconv_mime_encode.phpt393
-rw-r--r--ext/iconv/tests/iconv_strlen.phpt19
-rw-r--r--ext/iconv/tests/iconv_strpos.phpt52
-rw-r--r--ext/iconv/tests/iconv_strrpos.phpt56
-rw-r--r--ext/iconv/tests/iconv_substr.phpt59
-rw-r--r--ext/iconv/tests/ob_iconv_handler.phpt17
-rw-r--r--ext/iconv/tests/skipif.inc12
-rw-r--r--ext/iconv/tests/test.inc7
-rw-r--r--ext/iconv/tests/translit-failure.phpt33
-rw-r--r--ext/iconv/tests/translit-utf8.phpt28
24 files changed, 0 insertions, 3076 deletions
diff --git a/ext/iconv/CREDITS b/ext/iconv/CREDITS
deleted file mode 100644
index 70d3825ac3..0000000000
--- a/ext/iconv/CREDITS
+++ /dev/null
@@ -1,2 +0,0 @@
-Iconv
-Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi
diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
deleted file mode 100644
index 37f82eb479..0000000000
--- a/ext/iconv/config.m4
+++ /dev/null
@@ -1,118 +0,0 @@
-dnl
-dnl $Id$
-dnl
-
-PHP_ARG_WITH(iconv, for iconv support,
-[ --with-iconv[=DIR] Include iconv support])
-
-if test "$PHP_ICONV" != "no"; then
-
- PHP_SETUP_ICONV(ICONV_SHARED_LIBADD, [
- iconv_avail="yes";
- ],[
- iconv_avail="no";
- ])
-
- if test "$iconv_avail" != "no"; then
- iconv_cflags_save="$CFLAGS"
- CFLAGS="$CFLAGS $INCLUDES"
- AC_MSG_CHECKING([if iconv supports errno])
- AC_TRY_RUN([
-#define LIBICONV_PLUG
-#include <iconv.h>
-#include <errno.h>
-#if defined(_LIBICONV_H)
-#define icv_open(a, b) libiconv_open(a, b)
-#define icv_close(a) libiconv_close(a)
-#define icv(a, b, c, d, e) libiconv(a, b, c, d, e)
-#else
-#define icv_open(a, b) iconv_open(a, b)
-#define icv_close(a) iconv_close(a)
-#define icv(a, b, c, d, e) iconv(a, b, c, d, e)
-#endif
-
-int main() {
- iconv_t cd;
- cd = icv_open( "*blahblah*", "*blahblah*" );
- if( cd == (iconv_t)(-1) ) {
- if( errno == EINVAL ) {
- return 0;
- } else {
- return 1;
- }
- }
- icv_close( cd );
- return 2;
-}
- ],[
- AC_MSG_RESULT(yes)
- PHP_DEFINE([ICONV_SUPPORTS_ERRNO],1)
- AC_DEFINE([ICONV_SUPPORTS_ERRNO],1,[Whether iconv supports error no or not])
- ],[
- AC_MSG_RESULT(no)
- PHP_DEFINE([ICONV_SUPPORTS_ERRNO],0)
- AC_DEFINE([ICONV_SUPPORTS_ERRNO],0,[Whether iconv supports error no or not])
- ])
-
- if test -z "$iconv_lib_name"; then
- AC_MSG_CHECKING([if iconv is glibc's])
- AC_TRY_LINK([#include <gnu/libc-version.h>],[gnu_get_libc_version();],
- [
- AC_MSG_RESULT(yes)
- iconv_impl_name="glibc"
- ],[
- AC_MSG_RESULT(no)
- ])
- else
- case "$iconv_lib_name" in
- iconv [)]
- AC_MSG_CHECKING([if iconv is Konstantin Chugeuv's])
- AC_TRY_LINK([#include <iconv.h>],[iconv_ccs_init(NULL, NULL);],
- [
- AC_MSG_RESULT(yes)
- iconv_impl_name="bsd"
- ],[
- AC_MSG_RESULT(no)
- iconv_impl_name="gnu_libiconv"
- ])
- ;;
-
- giconv [)]
- iconv_impl_name="gnu_libiconv"
- ;;
-
- biconv [)]
- iconv_impl_name="bsd"
- ;;
- esac
- fi
-
- case "$iconv_impl_name" in
- gnu_libiconv [)]
- PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"])
- AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use])
- ;;
-
- bsd [)]
- PHP_DEFINE([HAVE_BSD_ICONV],1)
- AC_DEFINE([HAVE_BSD_ICONV],1,[Konstantin Chugeuv's iconv implementation])
- PHP_DEFINE([PHP_ICONV_IMPL],[\"BSD iconv\"])
- AC_DEFINE([PHP_ICONV_IMPL],["BSD iconv"],[Which iconv implementation to use])
- ;;
-
- glibc [)]
- PHP_DEFINE([HAVE_GLIBC_ICONV],1)
- AC_DEFINE([HAVE_GLIBC_ICONV],1,[glibc's iconv implementation])
- PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"])
- AC_DEFINE([PHP_ICONV_IMPL],["glibc"],[Which iconv implementation to use])
- ;;
- esac
-
- CFLAGS="$iconv_cflags_save"
-
- PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared)
- PHP_SUBST(ICONV_SHARED_LIBADD)
- else
- AC_MSG_ERROR(Please reinstall the iconv library.)
- fi
-fi
diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
deleted file mode 100644
index cdf13887f3..0000000000
--- a/ext/iconv/iconv.c
+++ /dev/null
@@ -1,1840 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2003 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Rui Hirokawa <rui_hirokawa@ybb.ne.jp> |
- | Stig Bakken <ssb@fast.no> |
- | Moriyoshi Koizumi <moriyoshi@php.net> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "php.h"
-#include "php_globals.h"
-#include "ext/standard/info.h"
-#include "main/php_output.h"
-#include "SAPI.h"
-#include "php_ini.h"
-
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#include <errno.h>
-
-#include "php_iconv.h"
-
-#ifdef HAVE_ICONV
-
-#ifdef HAVE_GICONV_H
-#include <giconv.h>
-#else
-#include <iconv.h>
-#endif
-
-#ifdef HAVE_GLIBC_ICONV
-#include <gnu/libc-version.h>
-#endif
-
-#include "ext/standard/php_smart_str.h"
-#include "ext/standard/base64.h"
-#include "ext/standard/quot_print.h"
-
-#ifdef HAVE_LIBICONV
-#define LIBICONV_PLUG
-#define icv_open(a, b) libiconv_open(a, b)
-#define icv_close(a) libiconv_close(a)
-#define icv(a, b, c, d, e) libiconv(a, b, c, d, e)
-#else
-#define icv_open(a, b) iconv_open(a, b)
-#define icv_close(a) iconv_close(a)
-#define icv(a, b, c, d, e) iconv(a, (char **) b, c, d, e)
-#endif
-
-#define _php_iconv_memequal(a, b, c) \
- ((c) == sizeof(unsigned long) ? *((unsigned long *)(a)) == *((unsigned long *)(b)) : ((c) == sizeof(unsigned int) ? *((unsigned int *)(a)) == *((unsigned int *)(b)) : memcmp(a, b, c) == 0))
-
-/* {{{ iconv_functions[]
- */
-function_entry iconv_functions[] = {
- PHP_NAMED_FE(iconv,php_if_iconv, NULL)
- PHP_FE(ob_iconv_handler, NULL)
- PHP_FE(iconv_get_encoding, NULL)
- PHP_FE(iconv_set_encoding, NULL)
- PHP_FE(iconv_strlen, NULL)
- PHP_FE(iconv_substr, NULL)
- PHP_FE(iconv_strpos, NULL)
- PHP_FE(iconv_strrpos, NULL)
- PHP_FE(iconv_mime_encode, NULL)
- PHP_FE(iconv_mime_decode, NULL)
- {NULL, NULL, NULL}
-};
-/* }}} */
-
-/* {{{ iconv_module_entry
- */
-zend_module_entry iconv_module_entry = {
- STANDARD_MODULE_HEADER,
- "iconv",
- iconv_functions,
- PHP_MINIT(miconv),
- PHP_MSHUTDOWN(miconv),
- NULL,
- NULL,
- PHP_MINFO(miconv),
- NO_VERSION_YET,
- STANDARD_MODULE_PROPERTIES
-};
-/* }}} */
-
-ZEND_DECLARE_MODULE_GLOBALS(iconv)
-
-#ifdef COMPILE_DL_ICONV
-ZEND_GET_MODULE(iconv)
-#endif
-
-/* {{{ typedef enum php_iconv_err_t */
-typedef enum _php_iconv_err_t {
- PHP_ICONV_ERR_SUCCESS = SUCCESS,
- PHP_ICONV_ERR_CONVERTER = 1,
- PHP_ICONV_ERR_WRONG_CHARSET = 2,
- PHP_ICONV_ERR_TOO_BIG = 3,
- PHP_ICONV_ERR_ILLEGAL_SEQ = 4,
- PHP_ICONV_ERR_ILLEGAL_CHAR = 5,
- PHP_ICONV_ERR_UNKNOWN = 6,
- PHP_ICONV_ERR_MALFORMED = 7
-} php_iconv_err_t;
-/* }}} */
-
-/* {{{ typedef enum php_iconv_enc_scheme_t */
-typedef enum _php_iconv_enc_scheme_t {
- PHP_ICONV_ENC_SCHEME_BASE64,
- PHP_ICONV_ENC_SCHEME_QPRINT
-} php_iconv_enc_scheme_t;
-/* }}} */
-
-/* {{{ prototypes */
-static php_iconv_err_t _php_iconv_appendl(smart_str *d, const char *s, size_t l, iconv_t cd);
-static php_iconv_err_t _php_iconv_appendc(smart_str *d, const char c, iconv_t cd);
-
-static php_iconv_err_t php_iconv_string(const char * in_p, size_t in_len, char **out, size_t *out_len, const char *out_charset, const char *in_charset);
-
-static void _php_iconv_show_error(php_iconv_err_t err, const char *out_charset, const char *in_charset TSRMLS_DC);
-
-static php_iconv_err_t _php_iconv_strlen(unsigned int *pretval, const char *str, size_t nbytes, const char *enc);
-
-static php_iconv_err_t _php_iconv_substr(smart_str *pretval, const char *str, size_t nbytes, int offset, int len, const char *enc);
-
-static php_iconv_err_t _php_iconv_strpos(unsigned int *pretval, const char *haystk, size_t haystk_nbytes, const char *ndl, size_t ndl_nbytes, int offset, const char *enc);
-
-static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char *fname, size_t fname_nbytes, const char *fval, size_t fval_nbytes, unsigned int max_line_len, const char *lfchars, php_iconv_enc_scheme_t enc_scheme, const char *out_charset, const char *enc);
-
-static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char *str, size_t str_nbytes, const char *enc);
-/* }}} */
-
-/* {{{ static globals */
-static char _generic_superset_name[] = "UCS-4LE";
-#define GENERIC_SUPERSET_NAME _generic_superset_name
-#define GENERIC_SUPERSET_NBYTES 4
-/* }}} */
-
-/* {{{ PHP_INI
- */
-PHP_INI_BEGIN()
- STD_PHP_INI_ENTRY("iconv.input_encoding", ICONV_INPUT_ENCODING, PHP_INI_ALL, OnUpdateString, input_encoding, zend_iconv_globals, iconv_globals)
- STD_PHP_INI_ENTRY("iconv.output_encoding", ICONV_OUTPUT_ENCODING, PHP_INI_ALL, OnUpdateString, output_encoding, zend_iconv_globals, iconv_globals)
- STD_PHP_INI_ENTRY("iconv.internal_encoding", ICONV_INTERNAL_ENCODING, PHP_INI_ALL, OnUpdateString, internal_encoding, zend_iconv_globals, iconv_globals)
-PHP_INI_END()
-/* }}} */
-
-/* {{{ php_iconv_init_globals */
-static void php_iconv_init_globals(zend_iconv_globals *iconv_globals)
-{
- iconv_globals->input_encoding = NULL;
- iconv_globals->output_encoding = NULL;
- iconv_globals->internal_encoding = NULL;
-}
-/* }}} */
-
-/* {{{ PHP_MINIT_FUNCTION */
-PHP_MINIT_FUNCTION(miconv)
-{
- char *version = "unknown";
-
- ZEND_INIT_MODULE_GLOBALS(iconv, php_iconv_init_globals, NULL);
- REGISTER_INI_ENTRIES();
-
-#if HAVE_LIBICONV
- {
- static char buf[16];
- snprintf(buf, sizeof(buf), "%d.%d",
- ((_libiconv_version >> 8) & 0x0f), (_libiconv_version & 0x0f));
- version = buf;
- }
-#elif HAVE_GLIBC_ICONV
- version = (char *)gnu_get_libc_version();
-#endif
-
-#ifdef PHP_ICONV_IMPL
- REGISTER_STRING_CONSTANT("ICONV_IMPL", PHP_ICONV_IMPL, CONST_CS | CONST_PERSISTENT);
-#elif HAVE_LIBICONV
- REGISTER_STRING_CONSTANT("ICONV_IMPL", "libiconv", CONST_CS | CONST_PERSISTENT);
-#else
- REGISTER_STRING_CONSTANT("ICONV_IMPL", "unknown", CONST_CS | CONST_PERSISTENT);
-#endif
- REGISTER_STRING_CONSTANT("ICONV_VERSION", version, CONST_CS | CONST_PERSISTENT);
-
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MSHUTDOWN_FUNCTION */
-PHP_MSHUTDOWN_FUNCTION(miconv)
-{
- UNREGISTER_INI_ENTRIES();
- return SUCCESS;
-}
-/* }}} */
-
-/* {{{ PHP_MINFO_FUNCTION */
-PHP_MINFO_FUNCTION(miconv)
-{
- zval iconv_impl, iconv_ver;
-
- zend_get_constant("ICONV_IMPL", sizeof("ICONV_IMPL")-1, &iconv_impl TSRMLS_CC);
- zend_get_constant("ICONV_VERSION", sizeof("ICONV_VERSION")-1, &iconv_ver TSRMLS_CC);
-
- php_info_print_table_start();
- php_info_print_table_row(2, "iconv support", "enabled");
- php_info_print_table_row(2, "iconv implementation", Z_STRVAL(iconv_impl));
- php_info_print_table_row(2, "iconv library version", Z_STRVAL(iconv_ver));
- php_info_print_table_end();
-
- DISPLAY_INI_ENTRIES();
-
- zval_dtor(&iconv_impl);
- zval_dtor(&iconv_ver);
-}
-/* }}} */
-
-/* {{{ _php_iconv_appendl() */
-static php_iconv_err_t _php_iconv_appendl(smart_str *d, const char *s, size_t l, iconv_t cd)
-{
- const char *in_p = s;
- size_t in_left = l;
- char *out_p;
- size_t out_left = 0;
- size_t buf_growth = 128;
-#if !ICONV_SUPPORTS_ERRNO
- size_t prev_in_left = in_left;
-#endif
-
- if (in_p != NULL) {
- while (in_left > 0) {
- out_left = buf_growth - out_left;
- {
- size_t newlen;
- smart_str_alloc((d), out_left, 0);
- }
-
- out_p = (d)->c + (d)->len;
-
- if (icv(cd, &in_p, &in_left, (char **) &out_p, &out_left) == (size_t)-1) {
-#if ICONV_SUPPORTS_ERRNO
- switch (errno) {
- case EINVAL:
- return PHP_ICONV_ERR_ILLEGAL_CHAR;
-
- case EILSEQ:
- return PHP_ICONV_ERR_ILLEGAL_SEQ;
-
- case E2BIG:
- break;
-
- default:
- return PHP_ICONV_ERR_UNKNOWN;
- }
-#else
- if (prev_in_left == in_left) {
- return PHP_ICONV_ERR_UNKNOWN;
- }
-#endif
- }
-#if !ICONV_SUPPORTS_ERRNO
- prev_in_left = in_left;
-#endif
- (d)->len += (buf_growth - out_left);
- buf_growth <<= 1;
- }
- } else {
- for (;;) {
- out_left = buf_growth - out_left;
- {
- size_t newlen;
- smart_str_alloc((d), out_left, 0);
- }
-
- out_p = (d)->c + (d)->len;
-
- if (icv(cd, NULL, NULL, (char **) &out_p, &out_left) == (size_t)0) {
- (d)->len += (buf_growth - out_left);
- break;
- } else {
-#if ICONV_SUPPORTS_ERRNO
- if (errno != E2BIG) {
- return PHP_ICONV_ERR_UNKNOWN;
- }
-#else
- if (out_left != 0) {
- return PHP_ICONV_ERR_UNKNOWN;
- }
-#endif
- }
- (d)->len += (buf_growth - out_left);
- buf_growth <<= 1;
- }
- }
- return PHP_ICONV_ERR_SUCCESS;
-}
-/* }}} */
-
-/* {{{ _php_iconv_appendc() */
-static php_iconv_err_t _php_iconv_appendc(smart_str *d, const char c, iconv_t cd)
-{
- return _php_iconv_appendl(d, &c, 1, cd);
-}
-/* }}} */
-
-/* {{{ php_iconv_string()
- */
-php_iconv_err_t php_iconv_string(const char *in_p, size_t in_len,
- char **out, size_t *out_len,
- const char *out_charset, const char *in_charset)
-{
-#if !ICONV_SUPPORTS_ERRNO
- unsigned int in_size, out_size, out_left;
- char *out_buffer, *out_p;
- iconv_t cd;
- size_t result;
- typedef unsigned int ucs4_t;
-
- *out = NULL;
- *out_len = 0;
-
- /*
- This is not the right way to get output size...
- This is not space efficient for large text.
- This is also problem for encoding like UTF-7/UTF-8/ISO-2022 which
- a single char can be more than 4 bytes.
- I added 15 extra bytes for safety. <yohgaki@php.net>
- */
- out_size = in_len * sizeof(ucs4_t) + 15;
- out_left = out_size;
-
- in_size = in_len;
-
- cd = icv_open(out_charset, in_charset);
-
- if (cd == (iconv_t)(-1)) {
- return PHP_ICONV_ERR_UNKNOWN;
- }
-
- out_buffer = (char *) emalloc(out_size + 1);
- out_p = out_buffer;
-
- result = icv(cd, (const char **) &in_p, &in_size, (char **)
- &out_p, &out_left);
-
- if (result == (size_t)(-1)) {
- efree(out_buffer);
- return PHP_ICONV_ERR_UNKNOWN;
- }
-
- if (out_left < 8) {
- out_buffer = (char *) erealloc(out_buffer, out_size + 8);
- }
-
- /* flush the shift-out sequences */
- result = icv(cd, NULL, NULL, &out_p, &out_left);
-
- if (result == (size_t)(-1)) {
- efree(out_buffer);
- return PHP_ICONV_ERR_UNKNOWN;
- }
-
- *out_len = out_size - out_left;
- out_buffer[*out_len] = '\0';
- *out = out_buffer;
-
- icv_close(cd);
-
- return PHP_ICONV_ERR_SUCCESS;
-
-#else
- /*
- iconv supports errno. Handle it better way.
- */
- iconv_t cd;
- size_t in_left, out_size, out_left;
- char *out_p, *out_buf, *tmp_buf;
- size_t bsz, result = 0;
- php_iconv_err_t retval = PHP_ICONV_ERR_SUCCESS;
-
- *out = NULL;
- *out_len = 0;
-
- cd = icv_open(out_charset, in_charset);
-
- if (cd == (iconv_t)(-1)) {
- if (errno == EINVAL) {
- return PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- return PHP_ICONV_ERR_CONVERTER;
- }
- }
- in_left= in_len;
- out_left = in_len + 32; /* Avoid realloc() most cases */
- out_size = 0;
- bsz = out_left;
- out_buf = (char *) emalloc(bsz+1);
- out_p = out_buf;
-
- while (in_left > 0) {
- result = icv(cd, (const char **) &in_p, &in_left, (char **) &out_p, &out_left);
- out_size = bsz - out_left;
- if (result == (size_t)(-1)) {
- if (errno == E2BIG && in_left > 0) {
- /* converted string is longer than out buffer */
- bsz += in_len;
-
- tmp_buf = (char*) erealloc(out_buf, bsz+1);
- out_p = out_buf = tmp_buf;
- out_p += out_size;
- out_left = bsz - out_size;
- continue;
- }
- }
- break;
- }
-
- if (result != (size_t)(-1)) {
- /* flush the shift-out sequences */
- for (;;) {
- result = icv(cd, NULL, NULL, (char **) &out_p, &out_left);
- out_size = bsz - out_left;
-
- if (result != (size_t)(-1)) {
- break;
- }
-
- if (errno == E2BIG) {
- bsz += 16;
- tmp_buf = (char *) erealloc(out_buf, bsz);
-
- out_p = out_buf = tmp_buf;
- out_p += out_size;
- out_left = bsz - out_size;
- } else {
- break;
- }
- }
- }
-
- icv_close(cd);
-
- if (result == (size_t)(-1)) {
- switch (errno) {
- case EINVAL:
- retval = PHP_ICONV_ERR_ILLEGAL_CHAR;
- break;
-
- case EILSEQ:
- retval = PHP_ICONV_ERR_ILLEGAL_SEQ;
- break;
-
- case E2BIG:
- /* should not happen */
- retval = PHP_ICONV_ERR_TOO_BIG;
- break;
-
- default:
- /* other error */
- retval = PHP_ICONV_ERR_UNKNOWN;
- efree(out_buf);
- return PHP_ICONV_ERR_UNKNOWN;
- }
- }
- *out_p = '\0';
- *out = out_buf;
- *out_len = out_size;
- return retval;
-#endif
-}
-/* }}} */
-
-/* {{{ _php_iconv_strlen() */
-static php_iconv_err_t _php_iconv_strlen(unsigned int *pretval, const char *str, size_t nbytes, const char *enc)
-{
- char buf[GENERIC_SUPERSET_NBYTES*2];
-
- php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
-
- iconv_t cd;
-
- const char *in_p;
- size_t in_left;
-
- char *out_p;
- size_t out_left;
-
- unsigned int cnt;
-
- *pretval = (unsigned int)-1;
-
- cd = icv_open(GENERIC_SUPERSET_NAME, enc);
-
- if (cd == (iconv_t)(-1)) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- return PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- return PHP_ICONV_ERR_CONVERTER;
- }
-#else
- return PHP_ICONV_ERR_UNKNOWN;
-#endif
- }
-
- out_left = 0;
-
- for (in_p = str, in_left = nbytes, cnt = 0; in_left > 0; cnt+=2) {
- size_t prev_in_left;
- out_p = buf;
- out_left = sizeof(buf);
-
- prev_in_left = in_left;
-
- if (icv(cd, &in_p, &in_left, (char **) &out_p, &out_left) == (size_t)-1) {
- if (prev_in_left == in_left) {
- break;
- }
- }
- }
-
- if (out_left > 0) {
- cnt -= out_left / GENERIC_SUPERSET_NBYTES;
- }
-
-#if ICONV_SUPPORTS_ERRNO
- switch (errno) {
- case EINVAL:
- err = PHP_ICONV_ERR_ILLEGAL_CHAR;
- break;
-
- case EILSEQ:
- err = PHP_ICONV_ERR_ILLEGAL_SEQ;
- break;
-
- case E2BIG:
- *pretval = cnt;
- break;
-
- default:
- err = PHP_ICONV_ERR_UNKNOWN;
- break;
- }
-#else
- *pretval = cnt;
-#endif
-
- icv_close(cd);
-
- return err;
-}
-
-/* }}} */
-
-/* {{{ _php_iconv_substr() */
-static php_iconv_err_t _php_iconv_substr(smart_str *pretval,
- const char *str, size_t nbytes, int offset, int len, const char *enc)
-{
- char buf[GENERIC_SUPERSET_NBYTES];
-
- php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
-
- iconv_t cd1, cd2;
-
- const char *in_p;
- size_t in_left;
-
- char *out_p;
- size_t out_left;
-
- unsigned int cnt;
-
- /* normalize the offset and the length */
- if (offset < 0 || len < 0) {
- unsigned int total_len;
- err = _php_iconv_strlen(&total_len, str, nbytes, enc);
- if (err != PHP_ICONV_ERR_SUCCESS) {
- return err;
- }
- if (offset < 0) {
- if ((offset += total_len) < 0) {
- offset = 0;
- }
- }
- if (len < 0) {
- if ((len += (total_len - offset)) < 0) {
- len = 0;
- }
- }
- }
-
- cd1 = icv_open(GENERIC_SUPERSET_NAME, enc);
-
- if (cd1 == (iconv_t)(-1)) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- return PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- return PHP_ICONV_ERR_CONVERTER;
- }
-#else
- return PHP_ICONV_ERR_UNKNOWN;
-#endif
- }
-
- cd2 = NULL;
-
- for (in_p = str, in_left = nbytes, cnt = 0; in_left > 0 && len > 0; ++cnt) {
- size_t prev_in_left;
- out_p = buf;
- out_left = sizeof(buf);
-
- prev_in_left = in_left;
-
- if (icv(cd1, &in_p, &in_left, (char **) &out_p, &out_left) == (size_t)-1) {
- if (prev_in_left == in_left) {
- break;
- }
- }
-
- if (cnt >= (unsigned int)offset) {
- if (cd2 == NULL) {
- cd2 = icv_open(enc, GENERIC_SUPERSET_NAME);
-
- if (cd2 == (iconv_t)(-1)) {
- cd2 = NULL;
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- err = PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- err = PHP_ICONV_ERR_CONVERTER;
- }
-#else
- err = PHP_ICONV_ERR_UNKNOWN;
-#endif
- break;
- }
- }
-
- _php_iconv_appendl(pretval, buf, sizeof(buf), cd2);
- --len;
- }
-
- }
-
-#if ICONV_SUPPORTS_ERRNO
- switch (errno) {
- case EINVAL:
- err = PHP_ICONV_ERR_ILLEGAL_CHAR;
- break;
-
- case EILSEQ:
- err = PHP_ICONV_ERR_ILLEGAL_SEQ;
- break;
-
- case E2BIG:
- break;
-
- default:
- err = PHP_ICONV_ERR_UNKNOWN;
- break;
- }
-#endif
- if (err == PHP_ICONV_ERR_SUCCESS) {
- if (cd2 != NULL) {
- _php_iconv_appendl(pretval, NULL, 0, cd2);
- }
- smart_str_0(pretval);
- }
-
- if (cd1 != NULL) {
- icv_close(cd1);
- }
-
- if (cd2 != NULL) {
- icv_close(cd2);
- }
- return err;
-}
-
-/* }}} */
-
-/* {{{ _php_iconv_strpos() */
-static php_iconv_err_t _php_iconv_strpos(unsigned int *pretval,
- const char *haystk, size_t haystk_nbytes,
- const char *ndl, size_t ndl_nbytes,
- int offset, const char *enc)
-{
- char buf[GENERIC_SUPERSET_NBYTES];
-
- php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
-
- iconv_t cd;
-
- const char *in_p;
- size_t in_left;
-
- char *out_p;
- size_t out_left;
-
- unsigned int cnt;
-
- char *ndl_buf;
- const char *ndl_buf_p;
- size_t ndl_buf_len, ndl_buf_left;
-
- unsigned int match_ofs;
-
- *pretval = (unsigned int)-1;
-
- err = php_iconv_string(ndl, ndl_nbytes,
- &ndl_buf, &ndl_buf_len, GENERIC_SUPERSET_NAME, enc);
-
- if (err != PHP_ICONV_ERR_SUCCESS) {
- if (ndl_buf != NULL) {
- efree(ndl_buf);
- }
- return err;
- }
-
- cd = icv_open(GENERIC_SUPERSET_NAME, enc);
-
- if (cd == (iconv_t)(-1)) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- return PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- return PHP_ICONV_ERR_CONVERTER;
- }
-#else
- return PHP_ICONV_ERR_UNKNOWN;
-#endif
- }
-
- ndl_buf_p = ndl_buf;
- ndl_buf_left = ndl_buf_len;
- match_ofs = (unsigned int)-1;
-
- for (in_p = haystk, in_left = haystk_nbytes, cnt = 0; in_left > 0; ++cnt) {
- size_t prev_in_left;
- out_p = buf;
- out_left = sizeof(buf);
-
- prev_in_left = in_left;
-
- if (icv(cd, &in_p, &in_left, (char **) &out_p, &out_left) == (size_t)-1) {
- if (prev_in_left == in_left) {
-#if ICONV_SUPPORTS_ERRNO
- switch (errno) {
- case EINVAL:
- err = PHP_ICONV_ERR_ILLEGAL_CHAR;
- break;
-
- case EILSEQ:
- err = PHP_ICONV_ERR_ILLEGAL_SEQ;
- break;
-
- case E2BIG:
- break;
-
- default:
- err = PHP_ICONV_ERR_UNKNOWN;
- break;
- }
-#endif
- break;
- }
- }
- if (offset >= 0) {
- if (cnt >= (unsigned int)offset) {
- if (_php_iconv_memequal(buf, ndl_buf_p, sizeof(buf))) {
- if (match_ofs == (unsigned int)-1) {
- match_ofs = cnt;
- }
- ndl_buf_p += GENERIC_SUPERSET_NBYTES;
- ndl_buf_left -= GENERIC_SUPERSET_NBYTES;
- if (ndl_buf_left == 0) {
- *pretval = match_ofs;
- break;
- }
- } else {
- unsigned int i, j, lim;
-
- i = 0;
- j = GENERIC_SUPERSET_NBYTES;
- lim = (unsigned int)(ndl_buf_p - ndl_buf);
-
- while (j < lim) {
- if (_php_iconv_memequal(&ndl_buf[j], &ndl_buf[i],
- GENERIC_SUPERSET_NBYTES)) {
- i += GENERIC_SUPERSET_NBYTES;
- } else {
- j -= i;
- i = 0;
- }
- j += GENERIC_SUPERSET_NBYTES;
- }
-
- if (!_php_iconv_memequal(buf, &ndl_buf[i], sizeof(buf))) {
- i = 0;
- }
-
- if (i == 0) {
- match_ofs = (unsigned int)-1;
- } else {
- match_ofs += (lim - i) / GENERIC_SUPERSET_NBYTES;
- i += GENERIC_SUPERSET_NBYTES;
- }
- ndl_buf_p = &ndl_buf[i];
- ndl_buf_left = ndl_buf_len - i;
- }
- }
- } else {
- if (_php_iconv_memequal(buf, ndl_buf_p, sizeof(buf))) {
- if (match_ofs == (unsigned int)-1) {
- match_ofs = cnt;
- }
- ndl_buf_p += GENERIC_SUPERSET_NBYTES;
- ndl_buf_left -= GENERIC_SUPERSET_NBYTES;
- if (ndl_buf_left == 0) {
- *pretval = match_ofs;
- ndl_buf_p = ndl_buf;
- ndl_buf_left = ndl_buf_len;
- match_ofs = -1;
- }
- } else {
- unsigned int i, j, lim;
-
- i = 0;
- j = GENERIC_SUPERSET_NBYTES;
- lim = (unsigned int)(ndl_buf_p - ndl_buf);
-
- while (j < lim) {
- if (_php_iconv_memequal(&ndl_buf[j], &ndl_buf[i],
- GENERIC_SUPERSET_NBYTES)) {
- i += GENERIC_SUPERSET_NBYTES;
- } else {
- j -= i;
- i = 0;
- }
- j += GENERIC_SUPERSET_NBYTES;
- }
-
- if (!_php_iconv_memequal(buf, &ndl_buf[i], sizeof(buf))) {
- i = 0;
- }
-
- if (i == 0) {
- match_ofs = (unsigned int)-1;
- } else {
- match_ofs += (lim - i) / GENERIC_SUPERSET_NBYTES;
- i += GENERIC_SUPERSET_NBYTES;
- }
- ndl_buf_p = &ndl_buf[i];
- ndl_buf_left = ndl_buf_len - i;
- }
- }
- }
-
- if (ndl_buf) {
- efree(ndl_buf);
- }
-
- icv_close(cd);
-
- return err;
-}
-/* }}} */
-
-/* {{{ _php_iconv_mime_encode() */
-static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char *fname, size_t fname_nbytes, const char *fval, size_t fval_nbytes, unsigned int max_line_len, const char *lfchars, php_iconv_enc_scheme_t enc_scheme, const char *out_charset, const char *enc)
-{
- php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
- iconv_t cd = (iconv_t)(-1), cd_pl = (iconv_t)(-1);
- unsigned int char_cnt = 0;
- size_t out_charset_len;
- size_t lfchars_len;
- char *buf = NULL;
- char *encoded = NULL;
- size_t encoded_len;
- const char *in_p;
- size_t in_left;
- char *out_p;
- size_t out_left;
-
- out_charset_len = strlen(out_charset);
- lfchars_len = strlen(lfchars);
-
- if ((fname_nbytes + 2) >= max_line_len
- || (out_charset_len + 12) >= max_line_len) {
- /* field name is too long */
- err = PHP_ICONV_ERR_TOO_BIG;
- goto out;
- }
-
- cd_pl = icv_open("ASCII", enc);
- if (cd_pl == (iconv_t)(-1)) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- err = PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- err = PHP_ICONV_ERR_CONVERTER;
- }
-#else
- err = PHP_ICONV_ERR_UNKNOWN;
-#endif
- goto out;
- }
-
- cd = icv_open(out_charset, enc);
- if (cd == (iconv_t)(-1)) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- err = PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- err = PHP_ICONV_ERR_CONVERTER;
- }
-#else
- err = PHP_ICONV_ERR_UNKNOWN;
-#endif
- goto out;
- }
-
- buf = emalloc(max_line_len + 5);
-
- char_cnt = max_line_len;
-
- _php_iconv_appendl(pretval, fname, fname_nbytes, cd_pl);
- char_cnt -= fname_nbytes;
- smart_str_appendl(pretval, ": ", sizeof(": ") - 1);
- char_cnt -= 2;
-
- in_p = fval;
- in_left = fval_nbytes;
-
- do {
- size_t prev_in_left;
- size_t out_size;
-
- if (char_cnt < (out_charset_len + 12)) {
- /* lfchars must be encoded in ASCII here*/
- smart_str_appendl(pretval, lfchars, lfchars_len);
- smart_str_appendc(pretval, ' ');
- char_cnt = max_line_len - 1;
- }
-
- smart_str_appendl(pretval, "=?", sizeof("=?") - 1);
- char_cnt -= 2;
- smart_str_appendl(pretval, out_charset, out_charset_len);
- char_cnt -= out_charset_len;
- smart_str_appendc(pretval, '?');
- char_cnt --;
-
- switch (enc_scheme) {
- case PHP_ICONV_ENC_SCHEME_BASE64: {
- size_t ini_in_left;
- const char *ini_in_p;
- size_t out_reserved = 4;
-
- smart_str_appendc(pretval, 'B');
- char_cnt--;
- smart_str_appendc(pretval, '?');
- char_cnt--;
-
- prev_in_left = ini_in_left = in_left;
- ini_in_p = in_p;
-
- out_size = (char_cnt - 2) / 4 * 3;
-
- for (;;) {
- out_p = buf;
-
- if (out_size <= out_reserved) {
- err = PHP_ICONV_ERR_TOO_BIG;
- goto out;
- }
-
- out_left = out_size - out_reserved;
-
- if (icv(cd, &in_p, &in_left, (char **) &out_p, &out_left) == (size_t)-1) {
-#if ICONV_SUPPORTS_ERRNO
- switch (errno) {
- case EINVAL:
- err = PHP_ICONV_ERR_ILLEGAL_CHAR;
- goto out;
-
- case EILSEQ:
- err = PHP_ICONV_ERR_ILLEGAL_SEQ;
- goto out;
-
- case E2BIG:
- if (prev_in_left == in_left) {
- err = PHP_ICONV_ERR_TOO_BIG;
- goto out;
- }
- break;
-
- default:
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-#else
- if (prev_in_left == in_left) {
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-#endif
- }
-
- out_left += out_reserved;
-
- if (icv(cd, NULL, NULL, (char **) &out_p, &out_left) == (size_t)-1) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno != E2BIG) {
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-#else
- if (out_left != 0) {
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-#endif
- } else {
- break;
- }
-
- if (icv(cd, NULL, NULL, NULL, NULL) == (size_t)-1) {
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-
- out_reserved += 4;
- in_left = ini_in_left;
- in_p = ini_in_p;
- }
-
- prev_in_left = in_left;
-
- encoded = php_base64_encode(buf, (int)(out_size - out_left), &encoded_len);
- if (char_cnt < encoded_len) {
- /* something went wrong! */
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-
- smart_str_appendl(pretval, encoded, encoded_len);
- char_cnt -= encoded_len;
- smart_str_appendl(pretval, "?=", sizeof("?=") - 1);
- char_cnt -= 2;
-
- efree(encoded);
- encoded = NULL;
- } break; /* case PHP_ICONV_ENC_SCHEME_BASE64: */
-
- case PHP_ICONV_ENC_SCHEME_QPRINT: {
- smart_str_appendc(pretval, 'Q');
- char_cnt--;
- smart_str_appendc(pretval, '?');
- char_cnt--;
-
- prev_in_left = in_left;
-
- while (in_left > 0) {
- out_p = buf;
- out_left = out_size = 1;
-
- if (icv(cd, &in_p, &in_left, (char **) &out_p, &out_left) == (size_t)-1) {
-#if ICONV_SUPPORTS_ERRNO
- switch (errno) {
- case EINVAL:
- err = PHP_ICONV_ERR_ILLEGAL_CHAR;
- goto out;
-
- case EILSEQ:
- err = PHP_ICONV_ERR_ILLEGAL_SEQ;
- goto out;
-
- case E2BIG:
- break;
-
- default:
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-#else
- if (prev_in_left == in_left) {
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-#endif
- }
-
- if (out_size > out_left) {
- if ((buf[0] >= 33 && buf[0] <= 60) ||
- (buf[0] >= 62 && buf[0] <= 126)) {
-
- if (char_cnt >= 1 + 2) {
- smart_str_appendc(pretval, buf[0]);
- char_cnt--;
- } else {
- in_p -= (prev_in_left - in_left);
- in_left = prev_in_left;
-
- break;
- }
- } else {
- if (char_cnt >= 3 + 2) {
- static char qp_digits[] = "0123456789ABCDEF";
- smart_str_appendc(pretval, '=');
- smart_str_appendc(pretval, qp_digits[(buf[0] >> 4) & 0x0f]);
- smart_str_appendc(pretval, qp_digits[(buf[0] & 0x0f)]);
- char_cnt -= 3;
- } else {
- in_p -= (prev_in_left - in_left);
- in_left = prev_in_left;
-
- break;
- }
- }
- }
- prev_in_left = in_left;
- }
-
- smart_str_appendl(pretval, "?=", sizeof("?=") - 1);
- char_cnt -= 2;
-
- if (icv(cd, NULL, NULL, NULL, NULL) == (size_t)-1) {
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-
- } break; /* case PHP_ICONV_ENC_SCHEME_QPRINT: */
- }
- } while (in_left > 0);
-
- smart_str_0(pretval);
-
-out:
- if (cd != (iconv_t)(-1)) {
- icv_close(cd);
- }
- if (cd_pl != (iconv_t)(-1)) {
- icv_close(cd_pl);
- }
- if (encoded != NULL) {
- efree(encoded);
- }
- if (buf != NULL) {
- efree(buf);
- }
- return err;
-}
-/* }}} */
-
-/* {{{ _php_iconv_mime_decode() */
-static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char *str, size_t str_nbytes, const char *enc)
-{
- php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
-
- iconv_t cd = (iconv_t)(-1), cd_pl = (iconv_t)(-1);
-
- const char *p1;
- size_t str_left;
- unsigned int scan_stat = 0;
- const char *csname = NULL;
- size_t csname_len;
- const char *encoded_text = NULL;
- size_t encoded_text_len;
-
- php_iconv_enc_scheme_t enc_scheme;
-
- cd_pl = icv_open(enc, "ASCII");
-
- if (cd_pl == (iconv_t)(-1)) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- err = PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- err = PHP_ICONV_ERR_CONVERTER;
- }
-#else
- err = PHP_ICONV_ERR_UNKNOWN;
-#endif
- goto out;
- }
-
- p1 = str;
- for (str_left = str_nbytes; str_left > 0; str_left--, p1++) {
-
- switch (scan_stat) {
- case 0:
- switch (*p1) {
- case '\r':
- scan_stat = 7;
- break;
-
- case '\n':
- scan_stat = 8;
- break;
-
- case '=':
- scan_stat = 1;
- break;
-
- default:
- _php_iconv_appendc(pretval, *p1, cd_pl);
- }
- break;
-
- case 1:
- if (*p1 != '?') {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
- csname = p1 + 1;
- scan_stat = 2;
- break;
-
- case 2: /* charset name */
- switch (*p1) {
- case '?':
- scan_stat = 3;
- break;
-
- case '*':
- scan_stat = 10;
- break;
- }
- if (scan_stat != 2) {
- char tmpbuf[80];
-
- if (csname == NULL) {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
-
- csname_len = (size_t)(p1 - csname);
-
- if (csname_len > sizeof(tmpbuf) - 1) {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
-
- memcpy(tmpbuf, csname, csname_len);
- tmpbuf[csname_len] = '\0';
-
- if (cd != (iconv_t)(-1)) {
- icv_close(cd);
- }
-
- cd = icv_open(enc, tmpbuf);
-
- if (cd == (iconv_t)(-1)) {
-#if ICONV_SUPPORTS_ERRNO
- if (errno == EINVAL) {
- err = PHP_ICONV_ERR_WRONG_CHARSET;
- } else {
- err = PHP_ICONV_ERR_CONVERTER;
- }
-#else
- err = PHP_ICONV_ERR_UNKNOWN;
-#endif
- goto out;
- }
- }
- break;
-
- case 3:
- switch (*p1) {
- case 'B':
- enc_scheme = PHP_ICONV_ENC_SCHEME_BASE64;
- break;
-
- case 'Q':
- enc_scheme = PHP_ICONV_ENC_SCHEME_QPRINT;
- break;
-
- default:
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
- scan_stat = 4;
- break;
-
- case 4:
- if (*p1 != '?') {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
- encoded_text = p1 + 1;
- scan_stat = 5;
- break;
-
- case 5:
- if (*p1 == '?') {
- char *decoded_text;
- size_t decoded_text_len;
-
- if (encoded_text == NULL) {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
-
- encoded_text_len = (size_t)(p1 - encoded_text);
- switch (enc_scheme) {
- case PHP_ICONV_ENC_SCHEME_BASE64:
- decoded_text = (char *)php_base64_decode((unsigned char*)encoded_text, (int)encoded_text_len, &decoded_text_len);
- break;
-
- case PHP_ICONV_ENC_SCHEME_QPRINT:
- decoded_text = (char *)php_quot_print_decode((unsigned char*)encoded_text, (int)encoded_text_len, &decoded_text_len);
- break;
- }
-
- if (decoded_text == NULL) {
- err = PHP_ICONV_ERR_UNKNOWN;
- goto out;
- }
-
- err = _php_iconv_appendl(pretval, decoded_text, decoded_text_len, cd);
- efree(decoded_text);
- if (err != PHP_ICONV_ERR_SUCCESS) {
- goto out;
- }
- scan_stat = 6;
- }
- break;
-
- case 6:
- if (*p1 != '=') {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
- scan_stat = 0;
- break;
-
- case 7:
- if (*p1 == '\n') {
- scan_stat = 8;
- } else {
- /* bare CR */
- _php_iconv_appendc(pretval, '\r', cd_pl);
- _php_iconv_appendc(pretval, *p1, cd_pl);
- }
- break;
-
- case 8:
- if (*p1 != ' ' && *p1 != '\t') {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
- scan_stat = 9;
- break;
-
- case 9:
- if (*p1 == '=') {
- scan_stat = 1;
- } else if (*p1 != ' ' && *p1 != '\t') {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
- break;
-
- case 10: /* language spec */
- if (*p1 == '?') {
- scan_stat = 3;
- }
- break;
- }
- }
-
- if (scan_stat != 0) {
- err = PHP_ICONV_ERR_MALFORMED;
- goto out;
- }
-
- if (cd != (iconv_t)(-1)) {
- if ((err = _php_iconv_appendl(pretval, NULL, 0, cd)) != PHP_ICONV_ERR_SUCCESS) {
- goto out;
- }
- }
- smart_str_0(pretval);
-out:
- if (cd != (iconv_t)(-1)) {
- icv_close(cd);
- }
- if (cd_pl != (iconv_t)(-1)) {
- icv_close(cd_pl);
- }
- return err;
-}
-/* }}} */
-
-/* {{{ php_iconv_show_error() */
-static void _php_iconv_show_error(php_iconv_err_t err, const char *out_charset, const char *in_charset TSRMLS_DC)
-{
- switch (err) {
- case PHP_ICONV_ERR_SUCCESS:
- break;
-
- case PHP_ICONV_ERR_CONVERTER:
- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Cannot open converter");
- break;
-
- case PHP_ICONV_ERR_WRONG_CHARSET:
- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Wrong charset, cannot convert from `%s' to `%s'",
- in_charset, out_charset);
- break;
-
- case PHP_ICONV_ERR_ILLEGAL_CHAR:
- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Detected incomplete character in input string");
- break;
-
- case PHP_ICONV_ERR_ILLEGAL_SEQ:
- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Detected illegal character in input string");
- break;
-
- case PHP_ICONV_ERR_TOO_BIG:
- /* should not happen */
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Run out buffer");
- break;
-
- default:
- /* other error */
- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unknown error (%d)", errno);
- break;
- }
-}
-/* }}} */
-
-/* {{{ proto int iconv_strlen(string str [, string charset])
- Returns the character count of str */
-PHP_FUNCTION(iconv_strlen)
-{
- char *charset;
- long charset_len;
- char *str;
- long str_len;
-
- php_iconv_err_t err;
-
- unsigned int retval;
-
- charset = ICONVG(internal_encoding);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s",
- &str, &str_len, &charset, &charset_len) == FAILURE) {
- RETURN_FALSE;
- }
-
- err = _php_iconv_strlen(&retval, str, str_len, charset);
- _php_iconv_show_error(err, GENERIC_SUPERSET_NAME, charset TSRMLS_CC);
- if (err == PHP_ICONV_ERR_SUCCESS) {
- RETVAL_LONG(retval);
- } else {
- RETVAL_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto string iconv_substr(string str, int offset, [int length, string charset])
- Returns specified part of a string */
-PHP_FUNCTION(iconv_substr)
-{
- char *charset;
- long charset_len;
- char *str;
- long str_len;
- long offset, length;
- zval *len_z = NULL;
-
- php_iconv_err_t err;
-
- smart_str retval = {0};
-
- charset = ICONVG(internal_encoding);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl|zs",
- &str, &str_len, &offset, &len_z,
- &charset, &charset_len) == FAILURE) {
- RETURN_FALSE;
- }
-
- if (len_z == NULL) {
- length = str_len;
- } else {
- convert_to_long_ex(&len_z);
- length = Z_LVAL_P(len_z);
- }
-
- err = _php_iconv_substr(&retval, str, str_len, offset, length, charset);
- _php_iconv_show_error(err, GENERIC_SUPERSET_NAME, charset TSRMLS_CC);
-
- if (err == PHP_ICONV_ERR_SUCCESS && str != NULL) {
- if (retval.c != NULL) {
- RETVAL_STRINGL(retval.c, retval.len, 0);
- } else {
- RETVAL_EMPTY_STRING();
- }
- } else {
- smart_str_free(&retval);
- RETVAL_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto string iconv_strpos(string haystack, string needle, int offset [, string charset])
- Finds position of first occurrence of needle within part of haystack beginning with offset */
-PHP_FUNCTION(iconv_strpos)
-{
- char *charset;
- long charset_len;
- char *haystk;
- long haystk_len;
- char *ndl;
- long ndl_len;
- long offset;
-
- php_iconv_err_t err;
-
- unsigned int retval;
-
- offset = 0;
- charset = ICONVG(internal_encoding);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|ls",
- &haystk, &haystk_len, &ndl, &ndl_len,
- &offset, &charset, &charset_len) == FAILURE) {
- RETURN_FALSE;
- }
-
- if (offset < 0) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset not contained in string.");
- RETURN_FALSE;
- }
-
- err = _php_iconv_strpos(&retval, haystk, haystk_len, ndl, ndl_len,
- offset, charset);
- _php_iconv_show_error(err, GENERIC_SUPERSET_NAME, charset TSRMLS_CC);
-
- if (err == PHP_ICONV_ERR_SUCCESS && retval != (unsigned int)-1) {
- RETVAL_LONG((long)retval);
- } else {
- RETVAL_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto string iconv_strrpos(string haystack, string needle [, string charset])
- Finds position of last occurrence of needle within part of haystack beginning with offset */
-PHP_FUNCTION(iconv_strrpos)
-{
- char *charset;
- long charset_len;
- char *haystk;
- long haystk_len;
- char *ndl;
- long ndl_len;
-
- php_iconv_err_t err;
-
- unsigned int retval;
-
- charset = ICONVG(internal_encoding);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|s",
- &haystk, &haystk_len, &ndl, &ndl_len,
- &charset, &charset_len) == FAILURE) {
- RETURN_FALSE;
- }
-
- err = _php_iconv_strpos(&retval, haystk, haystk_len, ndl, ndl_len,
- -1, charset);
- _php_iconv_show_error(err, GENERIC_SUPERSET_NAME, charset TSRMLS_CC);
-
- if (err == PHP_ICONV_ERR_SUCCESS && retval != (unsigned int)-1) {
- RETVAL_LONG((long)retval);
- } else {
- RETVAL_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto string iconv_mime_encode(string field_name, string field_value, string scheme, string out_charset [, string in_charset, int line_len, string lfchars])
- Composes a mime header field with field_name and field_value in a specified scheme */
-PHP_FUNCTION(iconv_mime_encode)
-{
- char *field_name;
- long field_name_len;
- char *field_value;
- long field_value_len;
- char *scheme;
- long scheme_len;
- char *in_charset;
- long in_charset_len;
- char *out_charset;
- long out_charset_len;
- long line_len = 76;
- char *lfchars = "\r\n";
- long lfchars_len = sizeof("\r\n")-1;
-
- php_iconv_enc_scheme_t scheme_id = PHP_ICONV_ENC_SCHEME_BASE64;
-
- smart_str retval = {0};
-
- php_iconv_err_t err;
-
- in_charset = ICONVG(internal_encoding);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssss|sls",
- &field_name, &field_name_len, &field_value, &field_value_len,
- &scheme, &scheme_len, &out_charset, &out_charset_len,
- &in_charset, &in_charset_len, &line_len, &lfchars, &lfchars_len) == FAILURE) {
-
- RETURN_FALSE;
- }
-
- if (scheme_len > 0) {
- switch (scheme[0]) {
- case 'B': case 'b':
- scheme_id = PHP_ICONV_ENC_SCHEME_BASE64;
- break;
-
- case 'Q': case 'q':
- scheme_id = PHP_ICONV_ENC_SCHEME_QPRINT;
- break;
- }
- }
-
- err = _php_iconv_mime_encode(&retval, field_name, field_name_len,
- field_value, field_value_len, line_len, lfchars, scheme_id,
- out_charset, in_charset);
- _php_iconv_show_error(err, out_charset, in_charset TSRMLS_CC);
-
- if (err == PHP_ICONV_ERR_SUCCESS) {
- if (retval.c != NULL) {
- RETVAL_STRINGL(retval.c, retval.len, 0);
- } else {
- RETVAL_EMPTY_STRING();
- }
- } else {
- smart_str_free(&retval);
- RETVAL_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto string iconv_mime_decode(string encoded_string [, string charset])
- Decodes a mime header field */
-PHP_FUNCTION(iconv_mime_decode)
-{
- char *encoded_str;
- long encoded_str_len;
- char *charset;
- long charset_len;
-
- smart_str retval = {0};
-
- php_iconv_err_t err;
-
- charset = ICONVG(internal_encoding);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s",
- &encoded_str, &encoded_str_len, &charset, &charset_len) == FAILURE) {
-
- RETURN_FALSE;
- }
-
- err = _php_iconv_mime_decode(&retval, encoded_str, encoded_str_len, charset);
- _php_iconv_show_error(err, charset, "???" TSRMLS_CC);
-
- if (err == PHP_ICONV_ERR_SUCCESS) {
- if (retval.c != NULL) {
- RETVAL_STRINGL(retval.c, retval.len, 0);
- } else {
- RETVAL_EMPTY_STRING();
- }
- } else {
- smart_str_free(&retval);
- RETVAL_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto string iconv(string in_charset, string out_charset, string str)
- Returns str converted to the out_charset character set */
-PHP_NAMED_FUNCTION(php_if_iconv)
-{
- char *in_charset, *out_charset, *in_buffer, *out_buffer;
- size_t out_len;
- int in_charset_len, out_charset_len, in_buffer_len;
- php_iconv_err_t err;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
- &in_charset, &in_charset_len, &out_charset, &out_charset_len, &in_buffer, &in_buffer_len) == FAILURE)
- return;
-
- err = php_iconv_string(in_buffer, (size_t)in_buffer_len,
- &out_buffer, &out_len, out_charset, in_charset);
- _php_iconv_show_error(err, out_charset, in_charset TSRMLS_CC);
- if (out_buffer != NULL) {
- RETVAL_STRINGL(out_buffer, out_len, 0);
- } else {
- RETURN_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto string ob_iconv_handler(string contents, int status)
- Returns str in output buffer converted to the iconv.output_encoding character set */
-PHP_FUNCTION(ob_iconv_handler)
-{
- char *out_buffer, *content_type, *mimetype = NULL, *s;
- zval *zv_string;
- unsigned int out_len;
- int status, mimetype_alloced = 0;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zl", &zv_string, &status) == FAILURE)
- return;
-
- convert_to_string_ex(&zv_string);
-
- if (SG(sapi_headers).mimetype &&
- strncasecmp(SG(sapi_headers).mimetype, "text/", 5) == 0) {
- if ((s = strchr(SG(sapi_headers).mimetype,';')) == NULL){
- mimetype = SG(sapi_headers).mimetype;
- } else {
- mimetype = estrndup(SG(sapi_headers).mimetype, s-SG(sapi_headers).mimetype);
- mimetype_alloced = 1;
- }
- } else if (SG(sapi_headers).send_default_content_type) {
- mimetype =(SG(default_mimetype) ? SG(default_mimetype) : SAPI_DEFAULT_MIMETYPE);
- }
- if (mimetype != NULL) {
- php_iconv_err_t err = php_iconv_string(Z_STRVAL_P(zv_string),
- Z_STRLEN_P(zv_string), &out_buffer, &out_len,
- ICONVG(output_encoding), ICONVG(internal_encoding));
- _php_iconv_show_error(err, ICONVG(output_encoding), ICONVG(internal_encoding) TSRMLS_CC);
- if (out_buffer != NULL) {
- spprintf(&content_type, 0, "Content-Type:%s; charset=%s", mimetype, ICONVG(output_encoding));
- if (content_type && sapi_add_header(content_type, strlen(content_type), 0) != FAILURE) {
- SG(sapi_headers).send_default_content_type = 0;
- }
- RETURN_STRINGL(out_buffer, out_len, 0);
- }
- if (mimetype_alloced) {
- efree(mimetype);
- }
- }
-
- zval_dtor(return_value);
- *return_value = *zv_string;
- zval_copy_ctor(return_value);
-}
-/* }}} */
-
-/* {{{ proto bool iconv_set_encoding(string type, string charset)
- Sets internal encoding and output encoding for ob_iconv_handler() */
-PHP_FUNCTION(iconv_set_encoding)
-{
- char *type, *charset;
- int type_len, charset_len, retval;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &type, &type_len, &charset, &charset_len) == FAILURE)
- return;
-
- if(!strcasecmp("input_encoding", type)) {
- retval = zend_alter_ini_entry("iconv.input_encoding", sizeof("iconv.input_encoding"), charset, charset_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
- } else if(!strcasecmp("output_encoding", type)) {
- retval = zend_alter_ini_entry("iconv.output_encoding", sizeof("iconv.output_encoding"), charset, charset_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
- } else if(!strcasecmp("internal_encoding", type)) {
- retval = zend_alter_ini_entry("iconv.internal_encoding", sizeof("iconv.internal_encoding"), charset, charset_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
- } else {
- RETURN_FALSE;
- }
-
- if (retval == SUCCESS) {
- RETURN_TRUE;
- } else {
- RETURN_FALSE;
- }
-}
-/* }}} */
-
-/* {{{ proto array iconv_get_encoding([string type])
- Get internal encoding and output encoding for ob_iconv_handler() */
-PHP_FUNCTION(iconv_get_encoding)
-{
- char *type = "all";
- int type_len;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &type, &type_len) == FAILURE)
- return;
-
- if (!strcasecmp("all", type)) {
- array_init(return_value);
- add_assoc_string(return_value, "input_encoding", ICONVG(input_encoding), 1);
- add_assoc_string(return_value, "output_encoding", ICONVG(output_encoding), 1);
- add_assoc_string(return_value, "internal_encoding", ICONVG(internal_encoding), 1);
- } else if (!strcasecmp("input_encoding", type)) {
- RETVAL_STRING(ICONVG(input_encoding), 1);
- } else if (!strcasecmp("output_encoding", type)) {
- RETVAL_STRING(ICONVG(output_encoding), 1);
- } else if (!strcasecmp("internal_encoding", type)) {
- RETVAL_STRING(ICONVG(internal_encoding), 1);
- } else {
- RETURN_FALSE;
- }
-
-}
-/* }}} */
-
-#endif
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: sw=4 ts=4 fdm=marker
- * vim<600: sw=4 ts=4
- */
diff --git a/ext/iconv/iconv.dsp b/ext/iconv/iconv.dsp
deleted file mode 100644
index 946fa2dfb9..0000000000
--- a/ext/iconv/iconv.dsp
+++ /dev/null
@@ -1,107 +0,0 @@
-# Microsoft Developer Studio Project File - Name="iconv" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=iconv - Win32 Debug_TS
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "iconv.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "iconv.mak" CFG="iconv - Win32 Debug_TS"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "iconv - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "iconv - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "iconv - Win32 Release_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release_TS"
-# PROP BASE Intermediate_Dir "Release_TS"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TS"
-# PROP Intermediate_Dir "Release_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICONV_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\win32" /I "..\..\..\php_build\iconv\include" /D "WIN32" /D "PHP_EXPORTS" /D "COMPILE_DL_ICONV" /D "HAVE_ICONV" /D ZEND_DEBUG=0 /D "NDEBUG" /D "_WINDOWS" /D "ZEND_WIN32" /D "PHP_WIN32" /D ZTS=1 /D "ICONV_SUPPORTS_ERRNO" /D "HAVE_LIBICONV" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 php4ts.lib iconv-1.3.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_iconv.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline" /libpath:"..\..\..\php_build\iconv\lib"
-
-!ELSEIF "$(CFG)" == "iconv - Win32 Debug_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug_TS"
-# PROP BASE Intermediate_Dir "Debug_TS"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug_TS"
-# PROP Intermediate_Dir "Debug_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICONV_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\win32" /I "..\..\..\php_build\iconv\include" /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "PHP_EXPORTS" /D "COMPILE_DL_ICONV" /D "ZEND_WIN32" /D "PHP_WIN32" /D "HAVE_ICONV" /D ZTS=1 /D "HAVE_LIBICONV" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 php4ts_debug.lib iconv-1.3.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS/php_iconv.dll" /pdbtype:sept /libpath:"..\..\Debug_TS" /libpath:"..\..\..\php_build\iconv\lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "iconv - Win32 Release_TS"
-# Name "iconv - Win32 Debug_TS"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\iconv.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\php_iconv.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/ext/iconv/php_iconv.h b/ext/iconv/php_iconv.h
deleted file mode 100644
index ad5509c26f..0000000000
--- a/ext/iconv/php_iconv.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2003 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Rui Hirokawa <rui_hirokawa@ybb.ne.jp> |
- | Stig Bakken <ssb@fast.no> |
- +----------------------------------------------------------------------+
- */
-
-#ifndef PHP_ICONV_H
-#define PHP_ICONV_H
-
-#ifdef PHP_WIN32
-#define PHP_ICONV_API __declspec(dllexport)
-#else
-#define PHP_ICONV_API
-#endif
-
-#ifdef PHP_ATOM_INC
-#include "php_have_iconv.h"
-#include "php_have_libiconv.h"
-#endif
-
-
-#ifdef HAVE_ICONV
-extern zend_module_entry iconv_module_entry;
-#define iconv_module_ptr &iconv_module_entry
-
-PHP_MINIT_FUNCTION(miconv);
-PHP_MSHUTDOWN_FUNCTION(miconv);
-PHP_MINFO_FUNCTION(miconv);
-
-PHP_NAMED_FUNCTION(php_if_iconv);
-PHP_FUNCTION(ob_iconv_handler);
-PHP_FUNCTION(iconv_get_encoding);
-PHP_FUNCTION(iconv_set_encoding);
-PHP_FUNCTION(iconv_strlen);
-PHP_FUNCTION(iconv_substr);
-PHP_FUNCTION(iconv_strpos);
-PHP_FUNCTION(iconv_strrpos);
-PHP_FUNCTION(iconv_mime_encode);
-PHP_FUNCTION(iconv_mime_decode);
-
-ZEND_BEGIN_MODULE_GLOBALS(iconv)
- char *input_encoding;
- char *internal_encoding;
- char *output_encoding;
-ZEND_END_MODULE_GLOBALS(iconv)
-
-#ifdef ZTS
-#define ICONVG(v) TSRMG(iconv_globals_id, zend_iconv_globals *, v)
-#else
-#define ICONVG(v) (iconv_globals.v)
-#endif
-
-#define ICONV_INPUT_ENCODING "ISO-8859-1"
-#define ICONV_OUTPUT_ENCODING "ISO-8859-1"
-#define ICONV_INTERNAL_ENCODING "ISO-8859-1"
-
-#else
-
-#define iconv_module_ptr NULL
-
-#endif /* HAVE_ICONV */
-
-#define phpext_iconv_ptr iconv_module_ptr
-
-#endif /* PHP_ICONV_H */
-
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
diff --git a/ext/iconv/tests/Quotes.UTF-8 b/ext/iconv/tests/Quotes.UTF-8
deleted file mode 100644
index 3d48ee970a..0000000000
--- a/ext/iconv/tests/Quotes.UTF-8
+++ /dev/null
@@ -1,4 +0,0 @@
-“Hello”
-‘Hello’
-„Hello”
-‚Hello’
diff --git a/ext/iconv/tests/bug16069.phpt b/ext/iconv/tests/bug16069.phpt
deleted file mode 100644
index 0d58defe3c..0000000000
--- a/ext/iconv/tests/bug16069.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-Bug #16069
---SKIPIF--
-<?php
-/* include( 'skipif.inc' ); */
-if (@iconv('CP932', 'EUC-JP//TRANSLIT', "\x87\x6d")=='') {
- die("skip CP932 translit not available\n");
-}
-?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-/* charset=CP932, KOI8-R */
-$str = "\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d";
-print iconv( "CP932", "EUC-JP//TRANSLIT", $str );
-$str = "(\x9c\xe4\x9c)";
-print iconv( "KOI8-R", "EUC-JP//TRANSLIT", $str );
-?>
---EXPECT--
-ߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥСߥС(맥)
diff --git a/ext/iconv/tests/eucjp2iso2022jp.phpt b/ext/iconv/tests/eucjp2iso2022jp.phpt
deleted file mode 100644
index 13dab43d4c..0000000000
--- a/ext/iconv/tests/eucjp2iso2022jp.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-EUC-JP to ISO-2022-JP
---SKIPIF--
-<?php /* include('skipif.inc'); */ ?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-/* charset=EUC-JP */
-
-function hexdump($str) {
- $len = strlen($str);
- for ($i = 0; $i < $len; ++$i) {
- printf("%02x", ord($str{$i}));
- }
- print "\n";
-}
-
-$str = str_repeat("ܸƥȤ English text", 30);
-$str .= "ܸ";
-
-echo hexdump(iconv("EUC-JP", "ISO-2022-JP", $str));
-?>
---EXPECT--
-1b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c2546252d2539254824481b284220456e676c69736820746578741b2442467c4b5c386c1b2842
-
diff --git a/ext/iconv/tests/eucjp2sjis.phpt b/ext/iconv/tests/eucjp2sjis.phpt
deleted file mode 100644
index c1cac62e85..0000000000
--- a/ext/iconv/tests/eucjp2sjis.phpt
+++ /dev/null
@@ -1,58 +0,0 @@
---TEST--
-EUC-JP to SJIS
---SKIPIF--
-<?php /* include('skipif.inc'); */ ?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-/* charset=EUC-JP */
-
-$str = "
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-";
-
-$str = iconv("EUC-JP", "SJIS", $str);
-$str = base64_encode($str);
-echo $str."\n";
-
-?>
---EXPECT--
-CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0CpP6lnuM6oNlg0yDWINngsZFbmdsaXNoIFRleHQKk/qWe4zqg2WDTINYg2eCxkVuZ2xpc2ggVGV4dAqT+pZ7jOqDZYNMg1iDZ4LGRW5nbGlzaCBUZXh0Cg==
-
diff --git a/ext/iconv/tests/eucjp2utf8.phpt b/ext/iconv/tests/eucjp2utf8.phpt
deleted file mode 100644
index 2100385cd6..0000000000
--- a/ext/iconv/tests/eucjp2utf8.phpt
+++ /dev/null
@@ -1,58 +0,0 @@
---TEST--
-EUC-JP to UTF8
---SKIPIF--
-<?php /* include('skipif.inc'); */ ?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-/* charset=EUC-JP */
-
-$str = "
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-ܸƥȤEnglish Text
-";
-
-$str = iconv("EUC-JP", "UTF-8", $str); /* libiconv(1.8) doesn't know "UTF8" but "UTF-8". */
-$str = base64_encode($str);
-echo $str."\n";
-
-?>
---EXPECT--
-CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0CuaXpeacrOiqnuODhuOCreOCueODiOOBqEVuZ2xpc2ggVGV4dArml6XmnKzoqp7jg4bjgq3jgrnjg4jjgahFbmdsaXNoIFRleHQK5pel5pys6Kqe44OG44Kt44K544OI44GoRW5nbGlzaCBUZXh0Cg==
-
diff --git a/ext/iconv/tests/iconv001.phpt b/ext/iconv/tests/iconv001.phpt
deleted file mode 100644
index d2c1f3ed60..0000000000
--- a/ext/iconv/tests/iconv001.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---TEST--
-iconv() test 1
---SKIPIF--
-<?php /* include('skipif.inc'); */ ?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-echo "iconv extension is available\n";
-$test = "";
-var_dump("ISO-8859-1: $test");
-var_dump("UTF-8: ".iconv( "ISO-8859-1", "UTF-8", $test ) );
-?>
---EXPECT--
-iconv extension is available
-string(15) "ISO-8859-1: "
-string(13) "UTF-8: æøå"
diff --git a/ext/iconv/tests/iconv002.phpt b/ext/iconv/tests/iconv002.phpt
deleted file mode 100644
index 8aded58866..0000000000
--- a/ext/iconv/tests/iconv002.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-iconv() test 2 (UCS4BE to ASCII)
---SKIPIF--
-<?php
-/* include('skipif.inc'); */
-if (@iconv("ascii","UCS-4LE", "abcd") == '') {
- die("skip conversion to UCS-4LE not supported");
-}
-?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-/*
-Expected output:
-&#97;&#98;&#99;&#100;
-abcd
-*/
-
- $s = unpack("V*", iconv("ascii","UCS-4LE", "abcd"));
- foreach($s as $c) { print "&#$c;"; } print "\n";
-
- $s = pack("NNNN", 97, 98, 99, 100);
- $q = iconv("UCS-4BE", "ascii", $s);
- print $q; print "\n";
-?>
---EXPECT--
-&#97;&#98;&#99;&#100;
-abcd
diff --git a/ext/iconv/tests/iconv003.phpt b/ext/iconv/tests/iconv003.phpt
deleted file mode 100644
index 9fcfe4b0cd..0000000000
--- a/ext/iconv/tests/iconv003.phpt
+++ /dev/null
@@ -1,13 +0,0 @@
---TEST--
-iconv() test 3
---FILE--
-<?php
-for ($i = 0; $i < 3; ++$i) {
- if (@iconv('blah', 'blah', 'blah') != '') {
- die("failed\n");
- }
-}
-echo "success\n";
-?>
---EXPECT--
-success
diff --git a/ext/iconv/tests/iconv_mime_decode.phpt b/ext/iconv/tests/iconv_mime_decode.phpt
deleted file mode 100644
index 32682c8d10..0000000000
--- a/ext/iconv/tests/iconv_mime_decode.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-iconv_mime_decode() (quoted-printable)
---SKIPIF--
-<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
---INI--
-iconv.internal_charset=iso-8859-1
---FILE--
-<?php
-$header = <<< HERE
-Subject: =?ISO-8859-1?Q?Pr=FCfung?=
- =?ISO-8859-1*de_DE?Q?=20Pr=FCfung?=
- =?ISO-8859-2?Q?k=F9=D4=F1=D3let?=
-HERE;
-$result = iconv_mime_decode($header, "UTF-8");
-printf("(%d) \"%s\"\n", iconv_strlen($result, "UTF-8"), $result);
---EXPECT--
-(33) "Subject: Prüfung Prüfung kůÔńÓlet"
diff --git a/ext/iconv/tests/iconv_mime_encode.phpt b/ext/iconv/tests/iconv_mime_encode.phpt
deleted file mode 100644
index 1c58640200..0000000000
--- a/ext/iconv/tests/iconv_mime_encode.phpt
+++ /dev/null
@@ -1,393 +0,0 @@
---TEST--
-iconv_mime_encode()
---SKIPIF--
-<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
---INI--
-iconv.internal_charset=iso-8859-1
---FILE--
-<?php
-function my_error_handler($errno, $errmsg, $filename, $linenum, $vars)
-{
- echo "$errno: $errmsg\n";
-}
-set_error_handler('my_error_handler');
-for ($line_len= 0; $line_len < 80; ++$line_len) {
- print "-------- line length=$line_len\n";
- $result = iconv_mime_encode("From", "ץʸ󥵥ץʸܸƥ", "B", "ISO-2022-JP", "EUC-JP", $line_len, "\n");
- var_dump($result);
- if ($result !== false) {
- list($max) = rsort(array_map("strlen", explode("\n", $result)));
- print "-------- ";
- var_dump(($max <= $line_len));
- } else {
- print "-------- \n";
- }
-}
-?>
---EXPECTF--
--------- line length=0
-2: %s
-bool(false)
---------
--------- line length=1
-2: %s
-bool(false)
---------
--------- line length=2
-2: %s
-bool(false)
---------
--------- line length=3
-2: %s
-bool(false)
---------
--------- line length=4
-2: %s
-bool(false)
---------
--------- line length=5
-2: %s
-bool(false)
---------
--------- line length=6
-2: %s
-bool(false)
---------
--------- line length=7
-2: %s
-bool(false)
---------
--------- line length=8
-2: %s
-bool(false)
---------
--------- line length=9
-2: %s
-bool(false)
---------
--------- line length=10
-2: %s
-bool(false)
---------
--------- line length=11
-2: %s
-bool(false)
---------
--------- line length=12
-2: %s
-bool(false)
---------
--------- line length=13
-2: %s
-bool(false)
---------
--------- line length=14
-2: %s
-bool(false)
---------
--------- line length=15
-2: %s
-bool(false)
---------
--------- line length=16
-2: %s
-bool(false)
---------
--------- line length=17
-2: %s
-bool(false)
---------
--------- line length=18
-2: %s
-bool(false)
---------
--------- line length=19
-2: %s
-bool(false)
---------
--------- line length=20
-2: %s
-bool(false)
---------
--------- line length=21
-2: %s
-bool(false)
---------
--------- line length=22
-2: %s
-bool(false)
---------
--------- line length=23
-2: %s
-bool(false)
---------
--------- line length=24
-2: %s
-bool(false)
---------
--------- line length=25
-2: %s
-bool(false)
---------
--------- line length=26
-2: %s
-bool(false)
---------
--------- line length=27
-2: %s
-bool(false)
---------
--------- line length=28
-2: %s
-bool(false)
---------
--------- line length=29
-2: %s
-bool(false)
---------
--------- line length=30
-2: %s
-bool(false)
---------
--------- line length=31
-2: %s
-bool(false)
---------
--------- line length=32
-2: %s
-bool(false)
---------
--------- line length=33
-2: %s
-bool(false)
---------
--------- line length=34
-2: %s
-bool(false)
---------
--------- line length=35
-2: %s
-bool(false)
---------
--------- line length=36
-string(216) "From: =?ISO-2022-JP?B?GyRCJTUbKEI=?=
- =?ISO-2022-JP?B?JXMlVyVrSjgbKEI=?=
- =?ISO-2022-JP?B?O3pOcyU1JXMbKEI=?=
- =?ISO-2022-JP?B?JVcla0o4O3obKEI=?=
- =?ISO-2022-JP?B?TnNGfEtcOGwbKEI=?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=37
-string(216) "From: =?ISO-2022-JP?B?GyRCJTUbKEI=?=
- =?ISO-2022-JP?B?JXMlVyVrSjgbKEI=?=
- =?ISO-2022-JP?B?O3pOcyU1JXMbKEI=?=
- =?ISO-2022-JP?B?JVcla0o4O3obKEI=?=
- =?ISO-2022-JP?B?TnNGfEtcOGwbKEI=?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=38
-string(216) "From: =?ISO-2022-JP?B?GyRCJTUbKEI=?=
- =?ISO-2022-JP?B?JXMlVyVrSjgbKEI=?=
- =?ISO-2022-JP?B?O3pOcyU1JXMbKEI=?=
- =?ISO-2022-JP?B?JVcla0o4O3obKEI=?=
- =?ISO-2022-JP?B?TnNGfEtcOGwbKEI=?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=39
-string(196) "From: =?ISO-2022-JP?B?GyRCJTUbKEI=?=
- =?ISO-2022-JP?B?JXMlVyVrSjg7ehsoQg==?=
- =?ISO-2022-JP?B?TnMlNSVzJVclaxsoQg==?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXBsoQg==?=
- =?ISO-2022-JP?B?OGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=40
-string(196) "From: =?ISO-2022-JP?B?GyRCJTUlcxsoQg==?=
- =?ISO-2022-JP?B?JVcla0o4O3pOcxsoQg==?=
- =?ISO-2022-JP?B?JTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOc0Z8S1w4bBsoQg==?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=41
-string(196) "From: =?ISO-2022-JP?B?GyRCJTUlcxsoQg==?=
- =?ISO-2022-JP?B?JVcla0o4O3pOcxsoQg==?=
- =?ISO-2022-JP?B?JTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOc0Z8S1w4bBsoQg==?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=42
-string(196) "From: =?ISO-2022-JP?B?GyRCJTUlcxsoQg==?=
- =?ISO-2022-JP?B?JVcla0o4O3pOcxsoQg==?=
- =?ISO-2022-JP?B?JTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOc0Z8S1w4bBsoQg==?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=43
-string(168) "From: =?ISO-2022-JP?B?GyRCJTUlcxsoQg==?=
- =?ISO-2022-JP?B?JVcla0o4O3pOcyU1JXMbKEI=?=
- =?ISO-2022-JP?B?JVcla0o4O3pOc0Z8S1wbKEI=?=
- =?ISO-2022-JP?B?OGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=44
-string(164) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWsbKEI=?=
- =?ISO-2022-JP?B?Sjg7ek5zJTUlcyVXJWsbKEI=?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXDhsJUYbKEI=?=
- =?ISO-2022-JP?B?JS0lOSVIGyhC?="
--------- bool(true)
--------- line length=45
-string(164) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWsbKEI=?=
- =?ISO-2022-JP?B?Sjg7ek5zJTUlcyVXJWsbKEI=?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXDhsJUYbKEI=?=
- =?ISO-2022-JP?B?JS0lOSVIGyhC?="
--------- bool(true)
--------- line length=46
-string(164) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWsbKEI=?=
- =?ISO-2022-JP?B?Sjg7ek5zJTUlcyVXJWsbKEI=?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXDhsJUYbKEI=?=
- =?ISO-2022-JP?B?JS0lOSVIGyhC?="
--------- bool(true)
--------- line length=47
-string(168) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWsbKEI=?=
- =?ISO-2022-JP?B?Sjg7ek5zJTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOc0Z8S1w4bCVGJS0lORsoQg==?=
- =?ISO-2022-JP?B?JUgbKEI=?="
--------- bool(true)
--------- line length=48
-string(144) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOcyU1JXMlVyVrSjg7ehsoQg==?=
- =?ISO-2022-JP?B?TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=49
-string(144) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOcyU1JXMlVyVrSjg7ehsoQg==?=
- =?ISO-2022-JP?B?TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=50
-string(144) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOcyU1JXMlVyVrSjg7ehsoQg==?=
- =?ISO-2022-JP?B?TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=51
-string(140) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKOBsoQg==?=
- =?ISO-2022-JP?B?O3pOcyU1JXMlVyVrSjg7ek5zRnwbKEI=?=
- =?ISO-2022-JP?B?S1w4bCVGJS0lOSVIGyhC?="
--------- bool(true)
--------- line length=52
-string(140) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMbKEI=?=
- =?ISO-2022-JP?B?JTUlcyVXJWtKODt6TnNGfEtcOGwbKEI=?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=53
-string(140) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMbKEI=?=
- =?ISO-2022-JP?B?JTUlcyVXJWtKODt6TnNGfEtcOGwbKEI=?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=54
-string(140) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMbKEI=?=
- =?ISO-2022-JP?B?JTUlcyVXJWtKODt6TnNGfEtcOGwbKEI=?=
- =?ISO-2022-JP?B?JUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=55
-string(140) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMbKEI=?=
- =?ISO-2022-JP?B?JTUlcyVXJWtKODt6TnNGfEtcOGwlRhsoQg==?=
- =?ISO-2022-JP?B?JS0lOSVIGyhC?="
--------- bool(true)
--------- line length=56
-string(144) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNRsoQg==?=
- =?ISO-2022-JP?B?JXMlVyVrSjg7ek5zRnxLXDhsJUYlLRsoQg==?=
- =?ISO-2022-JP?B?JTklSBsoQg==?="
--------- bool(true)
--------- line length=57
-string(144) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNRsoQg==?=
- =?ISO-2022-JP?B?JXMlVyVrSjg7ek5zRnxLXDhsJUYlLRsoQg==?=
- =?ISO-2022-JP?B?JTklSBsoQg==?="
--------- bool(true)
--------- line length=58
-string(144) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNRsoQg==?=
- =?ISO-2022-JP?B?JXMlVyVrSjg7ek5zRnxLXDhsJUYlLRsoQg==?=
- =?ISO-2022-JP?B?JTklSBsoQg==?="
--------- bool(true)
--------- line length=59
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNRsoQg==?=
- =?ISO-2022-JP?B?JXMlVyVrSjg7ek5zRnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=60
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcbKEI=?=
- =?ISO-2022-JP?B?JWtKODt6TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=61
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcbKEI=?=
- =?ISO-2022-JP?B?JWtKODt6TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=62
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcbKEI=?=
- =?ISO-2022-JP?B?JWtKODt6TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=63
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcbKEI=?=
- =?ISO-2022-JP?B?JWtKODt6TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=64
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVclaxsoQg==?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=65
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVclaxsoQg==?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=66
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVclaxsoQg==?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=67
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVclaxsoQg==?=
- =?ISO-2022-JP?B?Sjg7ek5zRnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=68
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3obKEI=?=
- =?ISO-2022-JP?B?TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=69
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3obKEI=?=
- =?ISO-2022-JP?B?TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=70
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3obKEI=?=
- =?ISO-2022-JP?B?TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=71
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3obKEI=?=
- =?ISO-2022-JP?B?TnNGfEtcOGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=72
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOcxsoQg==?=
- =?ISO-2022-JP?B?RnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=73
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOcxsoQg==?=
- =?ISO-2022-JP?B?RnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=74
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOcxsoQg==?=
- =?ISO-2022-JP?B?RnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=75
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOcxsoQg==?=
- =?ISO-2022-JP?B?RnxLXDhsJUYlLSU5JUgbKEI=?="
--------- bool(true)
--------- line length=76
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOc0Z8S1wbKEI=?=
- =?ISO-2022-JP?B?OGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=77
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOc0Z8S1wbKEI=?=
- =?ISO-2022-JP?B?OGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=78
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOc0Z8S1wbKEI=?=
- =?ISO-2022-JP?B?OGwlRiUtJTklSBsoQg==?="
--------- bool(true)
--------- line length=79
-string(116) "From: =?ISO-2022-JP?B?GyRCJTUlcyVXJWtKODt6TnMlNSVzJVcla0o4O3pOc0Z8S1wbKEI=?=
- =?ISO-2022-JP?B?OGwlRiUtJTklSBsoQg==?="
--------- bool(true)
-
diff --git a/ext/iconv/tests/iconv_strlen.phpt b/ext/iconv/tests/iconv_strlen.phpt
deleted file mode 100644
index 2c815f4f31..0000000000
--- a/ext/iconv/tests/iconv_strlen.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-iconv_strlen()
---SKIPIF--
-<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
---FILE--
-<?php
-function foo($str, $charset) {
- var_dump(strlen($str));
- var_dump(iconv_strlen($str, $charset));
-}
-
-foo("abc", "ASCII");
-foo("ܸ EUC-JP", "EUC-JP");
-?>
---EXPECT--
-int(3)
-int(3)
-int(13)
-int(10)
diff --git a/ext/iconv/tests/iconv_strpos.phpt b/ext/iconv/tests/iconv_strpos.phpt
deleted file mode 100644
index ccf4ea74a7..0000000000
--- a/ext/iconv/tests/iconv_strpos.phpt
+++ /dev/null
@@ -1,52 +0,0 @@
---TEST--
-iconv_strpos()
---SKIPIF--
-<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
---INI--
-iconv.internal_charset=ISO-8859-1
---FILE--
-<?php
-function my_error_handler($errno, $errmsg, $filename, $linenum, $vars)
-{
- echo "$errno: $errmsg\n";
-}
-set_error_handler('my_error_handler');
-function foo($haystk, $needle, $offset, $to_charset = false, $from_charset = false)
-{
- if ($from_charset !== false) {
- $haystk = iconv($from_charset, $to_charset, $haystk);
- }
- var_dump(strpos($haystk, $needle, $offset));
- if ($to_charset !== false) {
- var_dump(iconv_strpos($haystk, $needle, $offset, $to_charset));
- } else {
- var_dump(iconv_strpos($haystk, $needle, $offset));
- }
-}
-foo("abecdbcdabef", "bcd", -1);
-foo("abecdbcdabef", "bcd", 100000);
-foo("abcabcabcdabcababcdabc", "bcd", 0);
-foo("abcabcabcdabcababcdabc", "bcd", 10);
-foo(str_repeat("abcab", 60)."abcdb".str_repeat("adabc", 60), "abcd", 0);
-foo(str_repeat("", 30)."".str_repeat("", 30), "", 0, "EUC-JP");
-$str = str_repeat("", 60).'$'.str_repeat("", 60);
-foo($str, '$', 0, "ISO-2022-JP", "EUC-JP");
-?>
---EXPECTF--
-2: %s
-bool(false)
-2: %s
-bool(false)
-2: %s
-bool(false)
-bool(false)
-int(7)
-int(7)
-int(16)
-int(16)
-int(300)
-int(300)
-int(302)
-int(151)
-int(1)
-int(300)
diff --git a/ext/iconv/tests/iconv_strrpos.phpt b/ext/iconv/tests/iconv_strrpos.phpt
deleted file mode 100644
index f150f88422..0000000000
--- a/ext/iconv/tests/iconv_strrpos.phpt
+++ /dev/null
@@ -1,56 +0,0 @@
---TEST--
-iconv_strrpos()
---SKIPIF--
-<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
---INI--
-iconv.internal_charset=ISO-8859-1
---FILE--
-<?php
-function my_error_handler($errno, $errmsg, $filename, $linenum, $vars)
-{
- echo "$errno: $errmsg\n";
-}
-set_error_handler('my_error_handler');
-function foo($haystk, $needle, $to_charset = false, $from_charset = false)
-{
- if ($from_charset !== false) {
- $haystk = iconv($from_charset, $to_charset, $haystk);
- }
- if ($to_charset !== false) {
- var_dump(iconv_strlen($haystk, $to_charset));
- var_dump(iconv_strrpos($haystk, $needle, $to_charset));
- } else {
- var_dump(iconv_strlen($haystk));
- var_dump(iconv_strrpos($haystk, $needle));
- }
-}
-foo("abecdbcdabcdef", "bcd");
-foo(str_repeat("abcab", 60)."abcdb".str_repeat("adabc", 60), "abcd");
-foo(str_repeat("", 30)."".str_repeat("", 30), "", "EUC-JP");
-
-for ($i = 0; $i <=6; ++$i) {
- $str = str_repeat("", 60).str_repeat('$', $i).str_repeat("", 60);
- foo($str, '$', "ISO-2022-JP", "EUC-JP");
-}
-?>
---EXPECT--
-int(14)
-int(9)
-int(605)
-int(300)
-int(305)
-int(151)
-int(600)
-bool(false)
-int(601)
-int(300)
-int(602)
-int(301)
-int(603)
-int(302)
-int(604)
-int(303)
-int(605)
-int(304)
-int(606)
-int(305)
diff --git a/ext/iconv/tests/iconv_substr.phpt b/ext/iconv/tests/iconv_substr.phpt
deleted file mode 100644
index efa746e6de..0000000000
--- a/ext/iconv/tests/iconv_substr.phpt
+++ /dev/null
@@ -1,59 +0,0 @@
---TEST--
-iconv_substr()
---SKIPIF--
-<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
---INI--
-iconv.internal_charset=ISO-8859-1
---FILE--
-<?php
-function hexdump($str) {
- $len = strlen($str);
- for ($i = 0; $i < $len; ++$i) {
- printf("%02x", ord($str{$i}));
- }
- print "\n";
-}
-
-function foo($str, $offset, $len, $charset) {
- hexdump(substr($str, $offset, $len));
- hexdump(iconv_substr($str, $offset, $len, $charset));
-}
-
-function bar($str, $offset, $len = false) {
- if (is_bool($len)) {
- var_dump(substr($str, $offset));
- var_dump(iconv_substr($str, $offset));
- } else {
- var_dump(substr($str, $offset, $len));
- var_dump(iconv_substr($str, $offset, $len));
- }
-}
-
-foo("abcdefghijklmnopqrstuvwxyz", 5, 7, "ASCII");
-foo("", 5, 7, "EUC-JP");
-bar("This is a test", 100000);
-bar("This is a test", 0, 100000);
-bar("This is a test", -3);
-bar("This is a test", 0, -9);
-bar("This is a test", 0, -100000);
-bar("This is a test", -9, -100000);
-var_dump(iconv("ISO-2022-JP", "EUC-JP", iconv_substr(iconv("EUC-JP", "ISO-2022-JP", "ˤ ISO-2022-JP"), 3, 8, "ISO-2022-JP")));
-?>
---EXPECT--
-666768696a6b6c
-666768696a6b6c
-a6a4a8a4aaa4ab
-a4aba4ada4afa4b1a4b3a4b5a4b7
-bool(false)
-string(0) ""
-string(14) "This is a test"
-string(14) "This is a test"
-string(3) "est"
-string(3) "est"
-string(5) "This "
-string(5) "This "
-string(0) ""
-string(0) ""
-string(0) ""
-string(0) ""
-string(10) " ISO-2"
diff --git a/ext/iconv/tests/ob_iconv_handler.phpt b/ext/iconv/tests/ob_iconv_handler.phpt
deleted file mode 100644
index f26f87e97c..0000000000
--- a/ext/iconv/tests/ob_iconv_handler.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-ob_iconv_handler()
---SKIPIF--
-<?php /* include('skipif.inc'); */ ?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-iconv_set_encoding('internal_encoding', 'EUC-JP');
-iconv_set_encoding('output_encoding', 'Shift_JIS');
-ob_start('ob_iconv_handler');
-print "";
-ob_end_flush();
-?>
---EXPECT--
-
diff --git a/ext/iconv/tests/skipif.inc b/ext/iconv/tests/skipif.inc
deleted file mode 100644
index 6f7bbf2b86..0000000000
--- a/ext/iconv/tests/skipif.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-// This script prints "skip" if condition does not meet.
-
-// Do not dl load extension
-//if (!extension_loaded("iconv") && ini_get("enable_dl")) {
-// $dlext = (substr(PHP_OS, 0, 3) == "WIN") ? ".dll" : ".so";
-// @dl("iconv$dlext");
-//}
-if (!extension_loaded("iconv")) {
- die("skip iconv extension not available\n");
-}
-?> \ No newline at end of file
diff --git a/ext/iconv/tests/test.inc b/ext/iconv/tests/test.inc
deleted file mode 100644
index 78f180462f..0000000000
--- a/ext/iconv/tests/test.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-// Do not dl load extension
-//if (!extension_loaded("iconv") && ini_get("enable_dl")) {
-// $dlext = (substr(PHP_OS, 0, 3) == "WIN") ? ".dll" : ".so";
-// @dl("iconv$dlext");
-//}
-?> \ No newline at end of file
diff --git a/ext/iconv/tests/translit-failure.phpt b/ext/iconv/tests/translit-failure.phpt
deleted file mode 100644
index d0fbf5c86a..0000000000
--- a/ext/iconv/tests/translit-failure.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-Translit failure
---SKIPIF--
-<?php
-/* include('skipif.inc'); */
-( ICONV_IMPL != "libiconv" ) and die("skip ICONV_IMPL != \"libiconv\"");
-?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-// Should be ok.
-// Content from file is from libiconv testkit. Tested both
-// with a string as an implode, no difference.
-// if at some point internal encoding changes, set correct one
-// in INI section or use file 'TranslitFail1.ISO-8859-1'.
-
-set_time_limit(5);
-/*
- * The bug (fixed in libiconv 1.8) was confirmed that iconv goes into an
- * infinite loop when ASCII//TRANSLIT is performed. We should stop it in
- * some time.
- */
-
-$test = 'crit par %s.';
-
-if (!@iconv("ISO-8859-1", "ASCII//TRANSLIT", $test)) {
- echo 'wrong is right';
-}
-?>
---EXPECT--
-wrong is right
diff --git a/ext/iconv/tests/translit-utf8.phpt b/ext/iconv/tests/translit-utf8.phpt
deleted file mode 100644
index 10f9605bb1..0000000000
--- a/ext/iconv/tests/translit-utf8.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-Translit UTF-8 quotes
---SKIPIF--
-<?php
-/* include('skipif.inc'); */
-( ICONV_IMPL != "libiconv" ) and die("skip ICONV_IMPL != \"libiconv\"");
-?>
---INI--
-magic_quotes_runtime=0
-error_reporting=2047
---FILE--
-<?php // vim600: syn=php
-/* include('test.inc'); */
-//error_reporting(E_ALL);
-$utf = implode('', file('ext/iconv/tests/Quotes.UTF-8'));
-
-print(iconv("UTF-8", "ISO-8859-1//TRANSLIT", $utf));
-print(iconv("UTF-8", "ASCII//TRANSLIT", $utf));
-?>
---EXPECT--
-"Hello"
-`Hello
-"Hello"
-`Hello
-"Hello"
-'Hello'
-"Hello"
-'Hello'