diff src/filedata.c @ 753:477f48ba28d8

rewritten utilops.h: - better integration of external commands - filter commands
author nadvornik
date Sat, 24 May 2008 22:44:18 +0000
parents f73df252aa05
children 81f9e8dbb4bf
line wrap: on
line diff
--- a/src/filedata.c	Sat May 24 20:01:59 2008 +0000
+++ b/src/filedata.c	Sat May 24 22:44:18 2008 +0000
@@ -1022,9 +1022,11 @@
 	return file_data_sc_add_ci(fd, FILEDATA_CHANGE_DELETE);
 }
 
-gboolean file_data_sc_add_ci_update(FileData *fd)
+gboolean file_data_sc_add_ci_unspecified(FileData *fd, const gchar *dest_path)
 {
-	return file_data_sc_add_ci(fd, FILEDATA_CHANGE_UPDATE);
+	if (!file_data_sc_add_ci(fd, FILEDATA_CHANGE_UNSPECIFIED)) return FALSE;
+	file_data_sc_update_ci_unspecified(fd, dest_path);
+	return TRUE;
 }
 
 void file_data_sc_free_ci(FileData *fd)
@@ -1099,6 +1101,20 @@
 	return ret;
 }
 
+gboolean file_data_sc_add_ci_unspecified_list(GList *fd_list, const gchar *dest)
+{
+	GList *work;
+	gboolean ret = TRUE;
+	work = fd_list;
+	while (work)
+		{
+		FileData *fd = work->data;
+		if (!file_data_sc_add_ci_unspecified(fd, dest)) ret = FALSE;
+		work = work->next;
+		}
+	return ret;
+}
+
 void file_data_sc_free_ci_list(GList *fd_list)
 {
 	GList *work;
@@ -1186,6 +1202,13 @@
 	return TRUE;
 }
 
+gint file_data_sc_update_ci_unspecified(FileData *fd, const gchar *dest_path)
+{
+	if (!file_data_sc_check_ci(fd, FILEDATA_CHANGE_UNSPECIFIED)) return FALSE;
+	file_data_sc_update_ci(fd, dest_path);
+	return TRUE;
+}
+
 
 gboolean file_data_sc_update_ci_move_list(GList *fd_list, const gchar *dest)
 {
@@ -1215,6 +1238,20 @@
 	return ret;
 }
 
+gboolean file_data_sc_update_ci_unspecified_list(GList *fd_list, const gchar *dest)
+{
+	GList *work;
+	gboolean ret = TRUE;
+	work = fd_list;
+	while (work)
+		{
+		FileData *fd = work->data;
+		if (!file_data_sc_update_ci_unspecified(fd, dest)) ret = FALSE;
+		work = work->next;
+		}
+	return ret;
+}
+
 
 /*
  * check dest paths - dest image exists, etc.
@@ -1266,7 +1303,7 @@
 			return file_data_perform_move(fd); /* the same as move */
 		case FILEDATA_CHANGE_DELETE:
 			return file_data_perform_delete(fd);
-		case FILEDATA_CHANGE_UPDATE:
+		case FILEDATA_CHANGE_UNSPECIFIED:
 			/* nothing to do here */
 			break;
 		}