Do not unlink() note files on note removal

Now that we use hash-based note file names, note files should never be
unlinked as a note file might be shared.

Also, remove the ERASE_FORCE_KEEP_NOTE flag that no longer makes any
sense.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2011-09-02 11:52:26 +02:00
parent c77d1a573f
commit 6c7edfbb86
8 changed files with 47 additions and 64 deletions

View File

@@ -45,21 +45,21 @@ llist_t eventlist;
static struct event bkp_cut_event;
void
event_free_bkp (enum eraseflg flag)
event_free_bkp (void)
{
if (bkp_cut_event.mesg)
{
mem_free (bkp_cut_event.mesg);
bkp_cut_event.mesg = 0;
}
erase_note (&bkp_cut_event.note, flag);
erase_note (&bkp_cut_event.note);
}
static void
event_free (struct event *ev)
{
mem_free (ev->mesg);
erase_note (&ev->note, ERASE_FORCE_KEEP_NOTE);
erase_note (&ev->note);
mem_free (ev);
}
@@ -194,18 +194,16 @@ event_delete_bynum (long start, unsigned num, enum eraseflg flag)
switch (flag)
{
case ERASE_FORCE_ONLY_NOTE:
erase_note (&ev->note, flag);
erase_note (&ev->note);
break;
case ERASE_CUT:
event_free_bkp (ERASE_FORCE);
event_free_bkp ();
event_dup (ev, &bkp_cut_event);
erase_note (&ev->note, ERASE_FORCE_KEEP_NOTE);
erase_note (&ev->note);
/* FALLTHROUGH */
default:
LLIST_REMOVE (&eventlist, i);
mem_free (ev->mesg);
if (flag != ERASE_FORCE_KEEP_NOTE && flag != ERASE_CUT)
erase_note (&ev->note, flag);
mem_free (ev);
break;
}
@@ -217,5 +215,5 @@ event_paste_item (void)
(void)event_new (bkp_cut_event.mesg, bkp_cut_event.note,
date2sec (*calendar_get_slctd_day (), 12, 0),
bkp_cut_event.id);
event_free_bkp (ERASE_FORCE_KEEP_NOTE);
event_free_bkp ();
}