Re: GtkFileChooser::get_filenames / get_uris override | working
| From: | Christian Weiske | Date: | Thu, 09 Mar 2006 12:17:31 +0000 |
| Subject: | Re: GtkFileChooser::get_filenames / get_uris override | working | ||
| References: | 1 2 3 | Groups: | php.gtk.dev |
| Request: | Send a blank email to php-gtk-dev+get-2553@lists.php.net to get a copy of this message | ||
Here is a working version that converts to and from utf8:
--------------
%%
override gtk_file_chooser_get_filenames
PHP_METHOD
{
GSList *files;
gchar *cp = NULL;
gchar *fn = NULL;
gsize cp_len = 0;
zend_bool free_cp = FALSE;
NOT_STATIC_METHOD();
if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
return;
array_init(return_value);
for (files =
gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(PHPG_GOBJECT(this_ptr)));
files; files = files->next) {
if (files->data) {
fn = g_filename_to_utf8(files->data, strlen(files->data),
NULL, NULL, NULL);
cp = phpg_from_utf8(fn, strlen(fn), &cp_len, &free_cp
TSRMLS_CC);
if (cp) {
add_next_index_string(return_value, (char *)cp, 1);
} else {
php_error(E_WARNING, "%s::%s(): could not convert return
value from UTF-8", get_active_class_name(NULL TSRMLS_CC),
get_active_function_name(TSRMLS_C));
}
if (free_cp)
g_free(cp);
}
g_free(files->data);
}
g_slist_free(files);
}
--------------
get_uris shouldn't be converted as they can be used with php's
urldecode() method IMO.
--
Regards/MfG,
Christian Weiske
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc