comparison src/collect-table.c @ 783:d6a7fb4b8e7c

replaced directory path with FileData* dir_fd
author nadvornik
date Tue, 03 Jun 2008 19:44:19 +0000
parents 44128da39e13
children daebdd1f5bc6
comparison
equal deleted inserted replaced
782:3f7a0420c293 783:d6a7fb4b8e7c
1896 *------------------------------------------------------------------- 1896 *-------------------------------------------------------------------
1897 * dnd 1897 * dnd
1898 *------------------------------------------------------------------- 1898 *-------------------------------------------------------------------
1899 */ 1899 */
1900 1900
1901 static void collection_table_add_dir_recursive(CollectTable *ct, gchar *path, gint recursive) 1901 static void collection_table_add_dir_recursive(CollectTable *ct, FileData *dir_fd, gint recursive)
1902 { 1902 {
1903 GList *d; 1903 GList *d;
1904 GList *f; 1904 GList *f;
1905 GList *work; 1905 GList *work;
1906 1906
1907 if (!filelist_read(path, &f, recursive ? &d : NULL)) 1907 if (!filelist_read(dir_fd, &f, recursive ? &d : NULL))
1908 return; 1908 return;
1909 1909
1910 f = filelist_filter(f, FALSE); 1910 f = filelist_filter(f, FALSE);
1911 d = filelist_filter(d, TRUE); 1911 d = filelist_filter(d, TRUE);
1912 1912
1916 collection_table_insert_filelist(ct, f, ct->marker_info); 1916 collection_table_insert_filelist(ct, f, ct->marker_info);
1917 1917
1918 work = g_list_last(d); 1918 work = g_list_last(d);
1919 while (work) 1919 while (work)
1920 { 1920 {
1921 collection_table_add_dir_recursive(ct, ((FileData *)work->data)->path, TRUE); 1921 collection_table_add_dir_recursive(ct, (FileData *)work->data, TRUE);
1922 work = work->prev; 1922 work = work->prev;
1923 } 1923 }
1924 1924
1925 filelist_free(f); 1925 filelist_free(f);
1926 filelist_free(d); 1926 filelist_free(d);
1931 GList *work = list; 1931 GList *work = list;
1932 while (work) 1932 while (work)
1933 { 1933 {
1934 FileData *fd = work->data; 1934 FileData *fd = work->data;
1935 work = work->next; 1935 work = work->next;
1936 if (isdir(fd->path)) collection_table_add_dir_recursive(ct, fd->path, recursive); 1936 if (isdir(fd->path)) collection_table_add_dir_recursive(ct, fd, recursive);
1937 } 1937 }
1938 collection_table_insert_filelist(ct, list, ct->marker_info); 1938 collection_table_insert_filelist(ct, list, ct->marker_info);
1939 } 1939 }
1940 1940
1941 1941