com gtk/php-gtk: Fix UTF-8 issues.: ext/gtk+/gtk.overrides
[email protected] (David Soria Parra) Sun, 12 Feb 2006 20:50:18 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 5226fc407dfa578cac3eafe0196ebb0655b9c619 Author: Andrei Zmievski <[email protected]> Sun, 12 Feb 2006 20:50:18 +0000 Parents: 7290c370c0c5ebd5b19181c3e78c73acf3ba0e5d Branches: master Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=5226fc407dfa578cac3eafe0196ebb0655b9c619 Log: Fix UTF-8 issues. Changed paths: M ext/gtk+/gtk.overrides Diff: 5226fc407dfa578cac3eafe0196ebb0655b9c619 diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides index 690f1f0..acb4adb 100644 --- a/ext/gtk+/gtk.overrides +++ b/ext/gtk+/gtk.overrides @@ -650,13 +650,26 @@ PHP_METHOD { char *stock_id; GtkStockItem item; + gchar *cp = NULL; + gsize cp_len = 0; + zend_bool free_cp = FALSE; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "s", &stock_id)) return; if (gtk_stock_lookup(stock_id, &item)) { + cp = phpg_from_utf8(item.label, strlen(item.label), &cp_len, &free_cp TSRMLS_CC); + if (cp) { + item.label = cp; + } else { + php_error(E_WARNING, "Could not convert item label from UTF-8"); + return; + } php_gtk_build_value(&return_value, "(ssiis)", item.stock_id, item.label, item.modifier, item.keyval, item.translation_domain); + if (free_cp) { + g_free(cp); + } } else { return; }