X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.c;h=8e34c214be3db729a4b5f7fb9d99eb35214e7b2c;hb=64c3106b6b4900aa3515fb3ebc930ce80b59bb1e;hp=6ef2dd4477a8bd073337e10f05c01a614a68b005;hpb=5882d195ad6891b87dba6ded8a5caa1a949f165f;p=pspp diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c index 6ef2dd4477..8e34c214be 100644 --- a/src/ui/gui/psppire-window.c +++ b/src/ui/gui/psppire-window.c @@ -30,6 +30,7 @@ #define N_(msgid) msgid #include "data/any-reader.h" +#include "data/file-handle-def.h" #include "data/dataset.h" #include "libpspp/version.h" @@ -778,19 +779,22 @@ psppire_window_open (PsppireWindow *de) gchar *name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); - gchar *sysname = convert_glib_filename_to_system_filename (name, NULL); + const gchar **cs = NULL; + g_get_filename_charsets (&cs); gchar *encoding = psppire_encoding_selector_get_encoding ( gtk_file_chooser_get_extra_widget (GTK_FILE_CHOOSER (dialog))); - int retval = any_reader_detect (sysname, NULL); + struct file_handle *fh = fh_create_file (NULL, name, cs[0], fh_default_properties ()); + + int retval = any_reader_detect (fh, NULL); if (retval == 1) open_data_window (de, name, encoding, NULL); else if (retval == 0) open_syntax_window (name, encoding); g_free (encoding); - g_free (sysname); + fh_unref (fh); g_free (name); } break;