74
74
new = g_build_filename (prefix, basename, NULL);
77
d(printf("renaming %s%s to %s%s\n", oldp, suffix, newp, suffix));
77
d (printf ("renaming %s%s to %s%s\n", oldp, suffix, newp, suffix));
79
79
if (g_stat (old, &st) == -1) {
80
80
if (missingok && errno == ENOENT) {
170
settings = camel_service_get_settings (service);
170
settings = camel_service_ref_settings (service);
172
172
local_settings = CAMEL_LOCAL_SETTINGS (settings);
173
173
path = camel_local_settings_dup_path (local_settings);
175
g_object_unref (settings);
176
178
name = g_strdup (path);
208
210
service = CAMEL_SERVICE (store);
209
settings= camel_service_get_settings (service);
212
settings= camel_service_ref_settings (service);
211
214
local_settings = CAMEL_LOCAL_SETTINGS (settings);
212
215
path = camel_local_settings_dup_path (local_settings);
217
g_object_unref (settings);
214
219
if (!g_path_is_absolute (path)) {
216
221
error, CAMEL_STORE_ERROR,
363
368
service = CAMEL_SERVICE (store);
364
settings = camel_service_get_settings (service);
370
settings = camel_service_ref_settings (service);
366
372
local_settings = CAMEL_LOCAL_SETTINGS (settings);
367
373
path = camel_local_settings_dup_path (local_settings);
375
g_object_unref (settings);
369
377
/* This is a pretty hacky version of create folder, but should basically work */
371
379
if (!g_path_is_absolute (path)) {
379
387
if (parent_name && *parent_name)
380
name = g_strdup_printf("%s/%s/%s", path, parent_name, folder_name);
388
name = g_strdup_printf ("%s/%s/%s", path, parent_name, folder_name);
382
name = g_strdup_printf("%s/%s", path, folder_name);
390
name = g_strdup_printf ("%s/%s", path, folder_name);
384
392
if (g_stat (name, &st) == 0 || errno != ENOENT) {
395
403
if (parent_name && *parent_name)
396
name = g_strdup_printf("%s/%s", parent_name, folder_name);
404
name = g_strdup_printf ("%s/%s", parent_name, folder_name);
398
name = g_strdup_printf("%s", folder_name);
406
name = g_strdup_printf ("%s", folder_name);
400
408
folder = CAMEL_STORE_GET_CLASS (store)->get_folder_sync (
401
409
store, name, CAMEL_STORE_FOLDER_CREATE, cancellable, error);
430
438
gboolean success = TRUE;
432
440
service = CAMEL_SERVICE (store);
433
settings = camel_service_get_settings (service);
442
settings = camel_service_ref_settings (service);
435
444
local_settings = CAMEL_LOCAL_SETTINGS (settings);
436
445
path = camel_local_settings_dup_path (local_settings);
447
g_object_unref (settings);
438
449
/* remove metadata only */
439
450
name = g_build_filename (path, folder_name, NULL);
440
451
str = g_strdup_printf ("%s.ibex", name);
512
523
gboolean success = TRUE;
514
525
service = CAMEL_SERVICE (store);
515
settings = camel_service_get_settings (service);
527
settings = camel_service_ref_settings (service);
517
529
local_settings = CAMEL_LOCAL_SETTINGS (settings);
518
530
path = camel_local_settings_dup_path (local_settings);
532
g_object_unref (settings);
520
534
old_basename = g_strdup_printf ("%s.ibex", old);
521
535
new_basename = g_strdup_printf ("%s.ibex", new);
529
543
/* try to rollback failures, has obvious races */
531
d(printf("local rename folder '%s' '%s'\n", old, new));
545
d (printf ("local rename folder '%s' '%s'\n", old, new));
533
547
folder = camel_object_bag_get (store->folders, old);
534
548
if (folder && folder->index) {
535
549
if (camel_index_rename (folder->index, newibex) == -1)
536
550
goto ibex_failed;
538
/* TODO: camel_text_index_rename should find out if we have an active index itself? */
552
/* TODO camel_text_index_rename() should find
553
* out if we have an active index itself? */
539
554
if (camel_text_index_rename (oldibex, newibex) == -1)
540
555
goto ibex_failed;
543
if (xrename(old, new, path, ".ev-summary", TRUE, error))
546
if (xrename(old, new, path, ".ev-summary-meta", TRUE, error))
549
if (xrename(old, new, path, ".cmeta", TRUE, error))
558
if (xrename (old, new, path, ".ev-summary", TRUE, error))
561
if (xrename (old, new, path, ".ev-summary-meta", TRUE, error))
564
if (xrename (old, new, path, ".cmeta", TRUE, error))
550
565
goto cmeta_failed;
552
if (xrename(old, new, path, "", FALSE, error))
567
if (xrename (old, new, path, "", FALSE, error))
553
568
goto base_failed;
555
570
g_free (newibex);
563
578
/* The (f)utility of this recovery effort is quesitonable */
566
xrename(new, old, path, ".cmeta", TRUE, NULL);
581
xrename (new, old, path, ".cmeta", TRUE, NULL);
569
xrename(new, old, path, ".ev-summary", TRUE, NULL);
570
xrename(new, old, path, ".ev-summary-meta", TRUE, NULL);
584
xrename (new, old, path, ".ev-summary", TRUE, NULL);
585
xrename (new, old, path, ".ev-summary-meta", TRUE, NULL);
573
588
if (folder->index)
608
623
service = CAMEL_SERVICE (ls);
609
settings = camel_service_get_settings (service);
625
settings = camel_service_ref_settings (service);
611
627
local_settings = CAMEL_LOCAL_SETTINGS (settings);
612
628
path = camel_local_settings_dup_path (local_settings);
630
g_object_unref (settings);
614
632
filename = g_build_filename (path, full_name, NULL);
633
651
service = CAMEL_SERVICE (ls);
634
settings = camel_service_get_settings (service);
653
settings = camel_service_ref_settings (service);
636
655
local_settings = CAMEL_LOCAL_SETTINGS (settings);
637
656
path = camel_local_settings_dup_path (local_settings);
658
g_object_unref (settings);
639
660
basename = g_strconcat (full_name, ext, NULL);
640
661
filename = g_build_filename (path, basename, NULL);
641
662
g_free (basename);