# HG changeset patch # User nadvornik # Date 1216846385 0 # Node ID 893cd191db23eda4533010e2b39bec71823d41c6 # Parent 826d5862f671c2099c8a2ce5820de73d9751206b removed file_data_add_change_info reduced code redundancy - patch by Laurent, slightly modified diff -r 826d5862f671 -r 893cd191db23 src/filedata.c --- a/src/filedata.c Wed Jul 23 17:38:04 2008 +0000 +++ b/src/filedata.c Wed Jul 23 20:53:05 2008 +0000 @@ -645,28 +645,6 @@ return strncmp(fd1->name, fd2->name, len1); /* FIXME: utf8 */ } -gboolean file_data_add_change_info(FileData *fd, FileDataChangeType type, const gchar *src, const gchar *dest) -{ - FileDataChangeInfo *fdci; - - if (fd->change) return FALSE; - - fdci = g_new0(FileDataChangeInfo, 1); - fdci->type = type; - - if (src) - fdci->source = g_strdup(src); - else - fdci->source = g_strdup(fd->path); - - if (dest) - fdci->dest = g_strdup(dest); - - fd->change = fdci; - - return TRUE; -} - void file_data_change_info_free(FileDataChangeInfo *fdci, FileData *fd) { if (!fdci && fd) @@ -1350,8 +1328,7 @@ } } - -gboolean file_data_sc_add_ci_copy_list(GList *fd_list, const gchar *dest) +static gboolean file_data_sc_add_ci_list_call_func(GList *fd_list, const gchar *dest, gboolean (*func)(FileData *, const gchar *)) { GList *work; @@ -1360,7 +1337,7 @@ { FileData *fd = work->data; - if (!file_data_sc_add_ci_copy(fd, dest)) + if (!func(fd, dest)) { file_data_sc_revert_ci_list(work->prev); return FALSE; @@ -1371,64 +1348,24 @@ return TRUE; } +gboolean file_data_sc_add_ci_copy_list(GList *fd_list, const gchar *dest) +{ + return file_data_sc_add_ci_list_call_func(fd_list, dest, file_data_sc_add_ci_copy); +} + gboolean file_data_sc_add_ci_move_list(GList *fd_list, const gchar *dest) { - GList *work; - - work = fd_list; - while (work) - { - FileData *fd = work->data; - - if (!file_data_sc_add_ci_move(fd, dest)) - { - file_data_sc_revert_ci_list(work->prev); - return FALSE; - } - work = work->next; - } - - return TRUE; + return file_data_sc_add_ci_list_call_func(fd_list, dest, file_data_sc_add_ci_move); } gboolean file_data_sc_add_ci_rename_list(GList *fd_list, const gchar *dest) { - GList *work; - - work = fd_list; - while (work) - { - FileData *fd = work->data; - - if (!file_data_sc_add_ci_rename(fd, dest)) - { - file_data_sc_revert_ci_list(work->prev); - return FALSE; - } - work = work->next; - } - - return TRUE; + return file_data_sc_add_ci_list_call_func(fd_list, dest, file_data_sc_add_ci_rename); } gboolean file_data_sc_add_ci_unspecified_list(GList *fd_list, const gchar *dest) { - GList *work; - - work = fd_list; - while (work) - { - FileData *fd = work->data; - - if (!file_data_sc_add_ci_unspecified(fd, dest)) - { - file_data_sc_revert_ci_list(work->prev); - return FALSE; - } - work = work->next; - } - - return TRUE; + return file_data_sc_add_ci_list_call_func(fd_list, dest, file_data_sc_add_ci_unspecified); } void file_data_sc_free_ci_list(GList *fd_list)