# HG changeset patch # User gqview # Date 1160750186 0 # Node ID 31759d770628a79990581583ed978c24b90afba9 # Parent c6ff22c968b2c27766773029390aa0ac62fe06c9 Fri Oct 13 10:27:22 2006 John Ellis * cache_maint.c, ui_fileops.c, ui_pathsel.c, ui_tabcomp.c: Remove use of the d_ino > 0 test as all files listed by readdir should be valid. dirent.d_ino is not guanteed by POSIX, and at one recent point is not implemented on cygwin. diff -r c6ff22c968b2 -r 31759d770628 ChangeLog --- a/ChangeLog Fri Oct 13 13:44:30 2006 +0000 +++ b/ChangeLog Fri Oct 13 14:36:26 2006 +0000 @@ -1,3 +1,10 @@ +Fri Oct 13 10:27:22 2006 John Ellis + + * cache_maint.c, ui_fileops.c, ui_pathsel.c, ui_tabcomp.c: Remove use + of the d_ino > 0 test as all files listed by readdir should be valid. + dirent.d_ino is not guanteed by POSIX, and at one recent point is + not implemented on cygwin. + Fri Oct 13 09:25:25 2006 John Ellis * pl.po: Update Polish translation, diff -r c6ff22c968b2 -r 31759d770628 src/cache_maint.c --- a/src/cache_maint.c Fri Oct 13 13:44:30 2006 +0000 +++ b/src/cache_maint.c Fri Oct 13 14:36:26 2006 +0000 @@ -1,6 +1,6 @@ /* * GQview - * (C) 2004 John Ellis + * (C) 2006 John Ellis * * Author: John Ellis * @@ -95,8 +95,7 @@ { gchar *name = dir->d_name; - if (dir->d_ino > 0 && - !(name[0] == '.' && (name[1] == '\0' || (name[1] == '.' && name[2] == '\0'))) ) + if (!(name[0] == '.' && (name[1] == '\0' || (name[1] == '.' && name[2] == '\0'))) ) { closedir(dp); return FALSE; diff -r c6ff22c968b2 -r 31759d770628 src/ui_fileops.c --- a/src/ui_fileops.c Fri Oct 13 13:44:30 2006 +0000 +++ b/src/ui_fileops.c Fri Oct 13 14:36:26 2006 +0000 @@ -1,6 +1,6 @@ /* * (SLIK) SimpLIstic sKin functions - * (C) 2004 John Ellis + * (C) 2006 John Ellis * * Author: John Ellis * @@ -533,36 +533,35 @@ while ((dir = readdir(dp)) != NULL) { - /* skip removed files */ - if (dir->d_ino > 0) + gchar *name = dir->d_name; + gchar *filepath = g_strconcat(pathl, "/", name, NULL); + + if (stat(filepath, &ent_sbuf) >= 0) { - gchar *name = dir->d_name; - gchar *filepath = g_strconcat(pathl, "/", name, NULL); - if (stat(filepath, &ent_sbuf) >= 0) - { - gchar *path8; - gchar *name8; + gchar *path8; + gchar *name8; - name8 = path_to_utf8(name); - path8 = g_strconcat(path, "/", name8, NULL); - g_free(name8); + name8 = path_to_utf8(name); + path8 = g_strconcat(path, "/", name8, NULL); + g_free(name8); - if (dirs && S_ISDIR(ent_sbuf.st_mode) && - !(name[0] == '.' && (name[1] == '\0' || (name[1] == '.' && name[2] == '\0'))) ) - { - d_list = g_list_prepend(d_list, path8); - path8 = NULL; - } - else if (files && S_ISREG(ent_sbuf.st_mode)) - { - f_list = g_list_prepend(f_list, path8); - path8 = NULL; - } - g_free(path8); + if (dirs && S_ISDIR(ent_sbuf.st_mode) && + !(name[0] == '.' && (name[1] == '\0' || (name[1] == '.' && name[2] == '\0'))) ) + { + d_list = g_list_prepend(d_list, path8); + path8 = NULL; } - g_free(filepath); + else if (files && S_ISREG(ent_sbuf.st_mode)) + { + f_list = g_list_prepend(f_list, path8); + path8 = NULL; + } + g_free(path8); } + + g_free(filepath); } + closedir(dp); g_free(pathl); diff -r c6ff22c968b2 -r 31759d770628 src/ui_pathsel.c --- a/src/ui_pathsel.c Fri Oct 13 13:44:30 2006 +0000 +++ b/src/ui_pathsel.c Fri Oct 13 14:36:26 2006 +0000 @@ -1,6 +1,6 @@ /* * (SLIK) SimpLIstic sKin functions - * (C) 2004 John Ellis + * (C) 2006 John Ellis * * Author: John Ellis * @@ -177,8 +177,7 @@ } while ((dir = readdir(dp)) != NULL) { - /* skips removed files */ - if (dir->d_ino > 0 && (dd->show_hidden || !is_hidden(dir->d_name)) ) + if (dd->show_hidden || !is_hidden(dir->d_name)) { gchar *name = dir->d_name; gchar *filepath = g_strconcat(pathl, "/", name, NULL); diff -r c6ff22c968b2 -r 31759d770628 src/ui_tabcomp.c --- a/src/ui_tabcomp.c Fri Oct 13 13:44:30 2006 +0000 +++ b/src/ui_tabcomp.c Fri Oct 13 14:36:26 2006 +0000 @@ -1,6 +1,6 @@ /* * (SLIK) SimpLIstic sKin functions - * (C) 2004 John Ellis + * (C) 2006 John Ellis * * Author: John Ellis * @@ -115,15 +115,11 @@ } while ((dir = readdir(dp)) != NULL) { - /* skips removed files */ - if (dir->d_ino > 0) - { - gchar *name = dir->d_name; - if (strcmp(name, ".") != 0 && strcmp(name, "..") != 0) - { - list = g_list_prepend(list, path_to_utf8(name)); - } - } + gchar *name = dir->d_name; + if (strcmp(name, ".") != 0 && strcmp(name, "..") != 0) + { + list = g_list_prepend(list, path_to_utf8(name)); + } } closedir(dp);