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

@@ -46,21 +46,21 @@ static struct apoint bkp_cut_apoint;
static int hilt;
void
apoint_free_bkp (enum eraseflg flag)
apoint_free_bkp (void)
{
if (bkp_cut_apoint.mesg)
{
mem_free (bkp_cut_apoint.mesg);
bkp_cut_apoint.mesg = 0;
}
erase_note (&bkp_cut_apoint.note, flag);
erase_note (&bkp_cut_apoint.note);
}
static void
apoint_free (struct apoint *apt)
{
mem_free (apt->mesg);
erase_note (&apt->note, ERASE_FORCE_KEEP_NOTE);
erase_note (&apt->note);
mem_free (apt);
}
@@ -500,20 +500,18 @@ apoint_delete_bynum (long start, unsigned num, enum eraseflg flag)
switch (flag)
{
case ERASE_FORCE_ONLY_NOTE:
erase_note (&apt->note, flag);
erase_note (&apt->note);
break;
case ERASE_CUT:
apoint_free_bkp (ERASE_FORCE);
apoint_free_bkp ();
apoint_dup (apt, &bkp_cut_apoint);
erase_note (&apt->note, ERASE_FORCE_KEEP_NOTE);
erase_note (&apt->note);
/* FALLTHROUGH */
default:
if (notify_bar ())
need_check_notify = notify_same_item (apt->start);
LLIST_TS_REMOVE (&alist_p, i);
mem_free (apt->mesg);
if (flag != ERASE_FORCE_KEEP_NOTE && flag != ERASE_CUT)
erase_note (&apt->note, flag);
mem_free (apt);
if (need_check_notify)
notify_check_next_app (0);
@@ -733,5 +731,5 @@ apoint_paste_item (void)
if (notify_bar ())
notify_check_added (bkp_cut_apoint.mesg, bkp_start, bkp_cut_apoint.state);
apoint_free_bkp (ERASE_FORCE_KEEP_NOTE);
apoint_free_bkp ();
}