X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.c;h=8e34c214be3db729a4b5f7fb9d99eb35214e7b2c;hb=5cec2f151407ded00c03b00b101578e9123b91b2;hp=ef95b83b0907974906d1f9ae41fb21302e800902;hpb=ebb78b26936b7c3db462befcef45b4dcd2590b7e;p=pspp diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c index ef95b83b09..8e34c214be 100644 --- a/src/ui/gui/psppire-window.c +++ b/src/ui/gui/psppire-window.c @@ -30,7 +30,7 @@ #define N_(msgid) msgid #include "data/any-reader.h" -#include "data/file-name.h" +#include "data/file-handle-def.h" #include "data/dataset.h" #include "libpspp/version.h" @@ -779,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;