Mercurial > geeqie.yaz
comparison src/filedata.c @ 913:2f9edd196dca
clean up fd->change on error
author | nadvornik |
---|---|
date | Tue, 22 Jul 2008 18:27:12 +0000 |
parents | 9108a7158c02 |
children | 9427c91951e8 |
comparison
equal
deleted
inserted
replaced
912:9108a7158c02 | 913:2f9edd196dca |
---|---|
1329 } | 1329 } |
1330 | 1330 |
1331 return ret; | 1331 return ret; |
1332 } | 1332 } |
1333 | 1333 |
1334 static void file_data_sc_revert_ci_list(GList *fd_list) | |
1335 { | |
1336 GList *work; | |
1337 | |
1338 work = fd_list; | |
1339 while (work) | |
1340 { | |
1341 FileData *fd = work->data; | |
1342 | |
1343 file_data_sc_free_ci(fd); | |
1344 work = work->prev; | |
1345 } | |
1346 } | |
1347 | |
1348 | |
1334 gboolean file_data_sc_add_ci_copy_list(GList *fd_list, const gchar *dest) | 1349 gboolean file_data_sc_add_ci_copy_list(GList *fd_list, const gchar *dest) |
1335 { | 1350 { |
1336 GList *work; | 1351 GList *work; |
1337 gboolean ret = TRUE; | |
1338 | 1352 |
1339 work = fd_list; | 1353 work = fd_list; |
1340 while (work) | 1354 while (work) |
1341 { | 1355 { |
1342 FileData *fd = work->data; | 1356 FileData *fd = work->data; |
1343 | 1357 |
1344 if (!file_data_sc_add_ci_copy(fd, dest)) ret = FALSE; | 1358 if (!file_data_sc_add_ci_copy(fd, dest)) |
1345 work = work->next; | 1359 { |
1346 } | 1360 file_data_sc_revert_ci_list(work->prev); |
1347 | 1361 return FALSE; |
1348 return ret; | 1362 } |
1363 work = work->next; | |
1364 } | |
1365 | |
1366 return TRUE; | |
1349 } | 1367 } |
1350 | 1368 |
1351 gboolean file_data_sc_add_ci_move_list(GList *fd_list, const gchar *dest) | 1369 gboolean file_data_sc_add_ci_move_list(GList *fd_list, const gchar *dest) |
1352 { | 1370 { |
1353 GList *work; | 1371 GList *work; |
1354 gboolean ret = TRUE; | |
1355 | 1372 |
1356 work = fd_list; | 1373 work = fd_list; |
1357 while (work) | 1374 while (work) |
1358 { | 1375 { |
1359 FileData *fd = work->data; | 1376 FileData *fd = work->data; |
1360 | 1377 |
1361 if (!file_data_sc_add_ci_move(fd, dest)) ret = FALSE; | 1378 if (!file_data_sc_add_ci_move(fd, dest)) |
1362 work = work->next; | 1379 { |
1363 } | 1380 file_data_sc_revert_ci_list(work->prev); |
1364 | 1381 return FALSE; |
1365 return ret; | 1382 } |
1383 work = work->next; | |
1384 } | |
1385 | |
1386 return TRUE; | |
1366 } | 1387 } |
1367 | 1388 |
1368 gboolean file_data_sc_add_ci_rename_list(GList *fd_list, const gchar *dest) | 1389 gboolean file_data_sc_add_ci_rename_list(GList *fd_list, const gchar *dest) |
1369 { | 1390 { |
1370 GList *work; | 1391 GList *work; |
1371 gboolean ret = TRUE; | |
1372 | 1392 |
1373 work = fd_list; | 1393 work = fd_list; |
1374 while (work) | 1394 while (work) |
1375 { | 1395 { |
1376 FileData *fd = work->data; | 1396 FileData *fd = work->data; |
1377 | 1397 |
1378 if (!file_data_sc_add_ci_rename(fd, dest)) ret = FALSE; | 1398 if (!file_data_sc_add_ci_rename(fd, dest)) |
1379 work = work->next; | 1399 { |
1380 } | 1400 file_data_sc_revert_ci_list(work->prev); |
1381 | 1401 return FALSE; |
1382 return ret; | 1402 } |
1403 work = work->next; | |
1404 } | |
1405 | |
1406 return TRUE; | |
1383 } | 1407 } |
1384 | 1408 |
1385 gboolean file_data_sc_add_ci_unspecified_list(GList *fd_list, const gchar *dest) | 1409 gboolean file_data_sc_add_ci_unspecified_list(GList *fd_list, const gchar *dest) |
1386 { | 1410 { |
1387 GList *work; | 1411 GList *work; |
1388 gboolean ret = TRUE; | |
1389 | 1412 |
1390 work = fd_list; | 1413 work = fd_list; |
1391 while (work) | 1414 while (work) |
1392 { | 1415 { |
1393 FileData *fd = work->data; | 1416 FileData *fd = work->data; |
1394 | 1417 |
1395 if (!file_data_sc_add_ci_unspecified(fd, dest)) ret = FALSE; | 1418 if (!file_data_sc_add_ci_unspecified(fd, dest)) |
1396 work = work->next; | 1419 { |
1397 } | 1420 file_data_sc_revert_ci_list(work->prev); |
1398 | 1421 return FALSE; |
1399 return ret; | 1422 } |
1423 work = work->next; | |
1424 } | |
1425 | |
1426 return TRUE; | |
1400 } | 1427 } |
1401 | 1428 |
1402 void file_data_sc_free_ci_list(GList *fd_list) | 1429 void file_data_sc_free_ci_list(GList *fd_list) |
1403 { | 1430 { |
1404 GList *work; | 1431 GList *work; |