com gtk/php-gtk: Do codepage conversion.: ext/gtk+/gtk.overrides

[email protected] (David Soria Parra) Tue, 24 Jan 2006 00:15:54 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    679cfabc8b8fbdf581aaf1bf77eb590886f5e68d
Author:    Andrei Zmievski <[email protected]>         Tue, 24 Jan 2006 00:15:54 +0000
Parents:   c79e66b6633f3b1b5fd27c011d7b15916042603d
Branches:  master

Link:       http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=679cfabc8b8fbdf581aaf1bf77eb590886f5e68d

Log:
Do codepage conversion.

Changed paths:
  M  ext/gtk+/gtk.overrides


Diff:
679cfabc8b8fbdf581aaf1bf77eb590886f5e68d
diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides
index 799a1f5..2eeaf6a 100644
--- a/ext/gtk+/gtk.overrides
+++ b/ext/gtk+/gtk.overrides
@@ -596,6 +596,9 @@ override gtk_rc_get_default_files
 PHP_METHOD(gtk_rc_get_default_files)
 {
     gchar **ret;
+    gchar *cp_str;
+    gsize cp_len;
+    zend_bool free_cp_str;
 
     if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
         return;
@@ -604,7 +607,13 @@ PHP_METHOD(gtk_rc_get_default_files)
     if (ret) {
         array_init(return_value);
         while (*ret) {
-            add_next_index_string(return_value, *ret, 1);
+            cp_str = phpg_from_utf8(*ret, strlen(*ret), &cp_len, &free_cp_str TSRMLS_CC);
+            if (cp_str) {
+                add_next_index_stringl(return_value, cp_str, cp_len, !free_cp_str);
+            } else {
+                zval_dtor(return_value);
+                RETURN_NULL();
+            }
             *ret++;
         }
     } else {