diff src/ui_fileops.c @ 69:31759d770628

Fri Oct 13 10:27:22 2006 John Ellis <johne@verizon.net> * 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.
author gqview
date Fri, 13 Oct 2006 14:36:26 +0000
parents dcc04a6a58bf
children b15d4c18168f
line wrap: on
line diff
--- 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);