From 3e4c24c96e8c52d5e4e163118a3e7c41c8f71471 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Wed, 9 Aug 2000 20:54:58 +0000 Subject: [PATCH] Use the "system codepage" version of the directory name (not the UTF-8 2000-08-10 Tor Lillqvist * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" version of the directory name (not the UTF-8 one) when building the path name to stat(). --- ChangeLog | 6 ++++++ ChangeLog.pre-2-0 | 6 ++++++ ChangeLog.pre-2-10 | 6 ++++++ ChangeLog.pre-2-2 | 6 ++++++ ChangeLog.pre-2-4 | 6 ++++++ ChangeLog.pre-2-6 | 6 ++++++ ChangeLog.pre-2-8 | 6 ++++++ gtk/gtkfilesel.c | 8 +++++--- 8 files changed, 47 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0e84255b26..9aad13a185 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2000-08-10 Tor Lillqvist + + * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" + version of the directory name (not the UTF-8 one) when building + the path name to stat(). + 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 0e84255b26..9aad13a185 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,9 @@ +2000-08-10 Tor Lillqvist + + * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" + version of the directory name (not the UTF-8 one) when building + the path name to stat(). + 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 0e84255b26..9aad13a185 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2000-08-10 Tor Lillqvist + + * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" + version of the directory name (not the UTF-8 one) when building + the path name to stat(). + 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 0e84255b26..9aad13a185 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,9 @@ +2000-08-10 Tor Lillqvist + + * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" + version of the directory name (not the UTF-8 one) when building + the path name to stat(). + 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 0e84255b26..9aad13a185 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +2000-08-10 Tor Lillqvist + + * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" + version of the directory name (not the UTF-8 one) when building + the path name to stat(). + 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 0e84255b26..9aad13a185 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +2000-08-10 Tor Lillqvist + + * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" + version of the directory name (not the UTF-8 one) when building + the path name to stat(). + 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 0e84255b26..9aad13a185 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +2000-08-10 Tor Lillqvist + + * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" + version of the directory name (not the UTF-8 one) when building + the path name to stat(). + 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. diff --git a/gtk/gtkfilesel.c b/gtk/gtkfilesel.c index e209cd8daa..7f7d441c8d 100644 --- a/gtk/gtkfilesel.c +++ b/gtk/gtkfilesel.c @@ -2148,11 +2148,11 @@ open_new_dir(gchar* dir_name, struct stat* sbuf, gboolean stat_subdirs) xdir = g_filename_from_utf8 (dir_name); directory = opendir(xdir); - g_free (xdir); if(!directory) { cmpl_errno = errno; + g_free (xdir); return NULL; } @@ -2174,12 +2174,13 @@ open_new_dir(gchar* dir_name, struct stat* sbuf, gboolean stat_subdirs) { cmpl_errno = errno; closedir(directory); + g_free (xdir); return NULL; } sent->entries[i].entry_name = g_filename_to_utf8 (dirent_ptr->d_name); - g_string_assign (path, dir_name); + g_string_assign (path, xdir); if (path->str[path->len-1] != G_DIR_SEPARATOR) { g_string_append_c (path, G_DIR_SEPARATOR); @@ -2188,7 +2189,7 @@ open_new_dir(gchar* dir_name, struct stat* sbuf, gboolean stat_subdirs) if (stat_subdirs) { - if(stat(path->str, &ent_sbuf) >= 0 && S_ISDIR(ent_sbuf.st_mode)) + if (stat (path->str, &ent_sbuf) >= 0 && S_ISDIR (ent_sbuf.st_mode)) sent->entries[i].is_dir = TRUE; else /* stat may fail, and we don't mind, since it could be a @@ -2199,6 +2200,7 @@ open_new_dir(gchar* dir_name, struct stat* sbuf, gboolean stat_subdirs) sent->entries[i].is_dir = 1; } + g_free (xdir); g_string_free (path, TRUE); qsort(sent->entries, sent->entry_count, sizeof(CompletionDirEntry), compare_cmpl_dir);