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

Reply via email to