diff src/ui_fileops.c @ 576:9dc0513837b5

dropped path_list functions, use filelist functions everywhere
author nadvornik
date Sun, 04 May 2008 21:54:20 +0000
parents e421326e8b43
children 651ae2be1031
line wrap: on
line diff
--- a/src/ui_fileops.c	Sun May 04 19:00:39 2008 +0000
+++ b/src/ui_fileops.c	Sun May 04 21:54:20 2008 +0000
@@ -505,106 +505,13 @@
 	return path8;
 }
 
-static gint path_list_real(const gchar *path, GList **files, GList **dirs,
-			   gint follow_links)
-{
-	DIR *dp;
-	struct dirent *dir;
-	GList *f_list = NULL;
-	GList *d_list = NULL;
-	gchar *pathl;
-
-	if (!path) return FALSE;
-
-	pathl = path_from_utf8(path);
-	dp = opendir(pathl);
-	if (!dp)
-		{
-		/* dir not found */
-		g_free(pathl);
-		return FALSE;
-		}
-
-	/* root dir fix */
-	if (pathl[0] == '/' && pathl[1] == '\0')
-		{
-		g_free(pathl);
-		pathl = g_strdup("");
-		}
-
-	while ((dir = readdir(dp)) != NULL)
-		{
-		struct stat st_buf;
-		gchar *name;
-		gchar *filepath;
-		gint result;
-
-		name = dir->d_name;
-		filepath = g_strconcat(pathl, "/", name, NULL);
-
-		if (follow_links)
-			{
-			result = stat(filepath, &st_buf);
-			}
-		else
-			{
-			result = lstat(filepath, &st_buf);
-			}
-
-		if (result == 0)
-			{
-			gchar *path8;
-			gchar *name8;
-
-			name8 = path_to_utf8(name);
-			path8 = g_strconcat(path, "/", name8, NULL);
-			g_free(name8);
-
-			if (dirs && S_ISDIR(st_buf.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(st_buf.st_mode) || (!follow_links && S_ISLNK(st_buf.st_mode))) )
-				{
-				f_list = g_list_prepend(f_list, path8);
-				path8 = NULL;
-				}
-			g_free(path8);
-			}
-
-		g_free(filepath);
-		}
-
-	closedir(dp);
-
-	g_free(pathl);
-
-	if (dirs) *dirs = g_list_reverse(d_list);
-	if (files) *files = g_list_reverse(f_list);
-
-	return TRUE;
-}
-
-gint path_list(const gchar *path, GList **files, GList **dirs)
-{
-	return path_list_real(path, files, dirs, TRUE);
-}
-
-gint path_list_lstat(const gchar *path, GList **files, GList **dirs)
-{
-	return path_list_real(path, files, dirs, FALSE);
-}
-
-void path_list_free(GList *list)
+void string_list_free(GList *list)
 {
 	g_list_foreach(list, (GFunc)g_free, NULL);
 	g_list_free(list);
 }
 
-GList *path_list_copy(GList *list)
+GList *string_list_copy(GList *list)
 {
 	GList *new_list = NULL;
 	GList *work;