tony2001 Wed Jan 17 20:31:49 2007 UTC Modified files: /php-src/ext/iconv iconv.c Log: fix #40129 (iconv extension doesn't compile with CodeWarrior on Netware) patch by gk at gknw dot de http://cvs.php.net/viewvc.cgi/php-src/ext/iconv/iconv.c?r1=1.150&r2=1.151&diff_format=u Index: php-src/ext/iconv/iconv.c diff -u php-src/ext/iconv/iconv.c:1.150 php-src/ext/iconv/iconv.c:1.151 --- php-src/ext/iconv/iconv.c:1.150 Mon Jan 1 09:29:24 2007 +++ php-src/ext/iconv/iconv.c Wed Jan 17 20:31:49 2007 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: iconv.c,v 1.150 2007/01/01 09:29:24 sebastian Exp $ */ +/* $Id: iconv.c,v 1.151 2007/01/17 20:31:49 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -255,12 +255,16 @@ } #elif HAVE_GLIBC_ICONV version = (char *)gnu_get_libc_version(); +#elif defined(NETWARE) + version = "OS built-in"; #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); +#elif defined(NETWARE) + REGISTER_STRING_CONSTANT("ICONV_IMPL", "Novell", CONST_CS | CONST_PERSISTENT); #else REGISTER_STRING_CONSTANT("ICONV_IMPL", "unknown", CONST_CS | CONST_PERSISTENT); #endif @@ -499,7 +503,11 @@ out_buffer = (char *) emalloc(out_size + 1); out_p = out_buffer; +#ifdef NETWARE + result = iconv(cd, (char **) &in_p, &in_size, (char **) +#else result = iconv(cd, (const char **) &in_p, &in_size, (char **) +#endif &out_p, &out_left); if (result == (size_t)(-1)) { @@ -775,7 +783,7 @@ #endif } - cd2 = NULL; + cd2 = (iconv_t)NULL; for (in_p = str, in_left = nbytes, cnt = 0; in_left > 0 && len > 0; ++cnt) { size_t prev_in_left; @@ -791,11 +799,11 @@ } if (cnt >= (unsigned int)offset) { - if (cd2 == NULL) { + if (cd2 == (iconv_t)NULL) { cd2 = iconv_open(enc, GENERIC_SUPERSET_NAME); if (cd2 == (iconv_t)(-1)) { - cd2 = NULL; + cd2 = (iconv_t)NULL; #if ICONV_SUPPORTS_ERRNO if (errno == EINVAL) { err = PHP_ICONV_ERR_WRONG_CHARSET; @@ -832,17 +840,17 @@ } #endif if (err == PHP_ICONV_ERR_SUCCESS) { - if (cd2 != NULL) { + if (cd2 != (iconv_t)NULL) { _php_iconv_appendl(pretval, NULL, 0, cd2); } smart_str_0(pretval); } - if (cd1 != NULL) { + if (cd1 != (iconv_t)NULL) { iconv_close(cd1); } - if (cd2 != NULL) { + if (cd2 != (iconv_t)NULL) { iconv_close(cd2); } return err;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php