various bugfixes
This commit is contained in:
parent
cac30a7e14
commit
aa7d6c5eb7
@ -1,3 +1,8 @@
|
|||||||
|
2009-01-02 Frederic Culot <frederic@culot.org>
|
||||||
|
|
||||||
|
* src/io.c (io_stop_pthread_save): do not crash when canceling the
|
||||||
|
thread if it was not started before
|
||||||
|
|
||||||
2009-01-01 Frederic Culot <frederic@culot.org>
|
2009-01-01 Frederic Culot <frederic@culot.org>
|
||||||
|
|
||||||
* src/event.c (event_free_bkp, event_llist_free): new functions
|
* src/event.c (event_free_bkp, event_llist_free): new functions
|
||||||
@ -16,7 +21,7 @@
|
|||||||
that made repeated items with exceptions load uncorrectly in
|
that made repeated items with exceptions load uncorrectly in
|
||||||
some cases (thanks Jan for reporting it)
|
some cases (thanks Jan for reporting it)
|
||||||
|
|
||||||
* NEWS: updated (it is now possible to move an item from one date
|
* TODO: updated (it is now possible to move an item from one date
|
||||||
to another by using the cut/paste feature)
|
to another by using the cut/paste feature)
|
||||||
|
|
||||||
2008-12-30 Frederic Culot <frederic@culot.org>
|
2008-12-30 Frederic Culot <frederic@culot.org>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: apoint.c,v 1.30 2009/01/01 17:50:41 culot Exp $ */
|
/* $calcurse: apoint.c,v 1.31 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -92,14 +92,14 @@ apoint_llist_free (void)
|
|||||||
apoint_llist_node_t *o, **i;
|
apoint_llist_node_t *o, **i;
|
||||||
|
|
||||||
i = &alist_p->root;
|
i = &alist_p->root;
|
||||||
for (o = alist_p->root; o; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o->mesg);
|
mem_free (o->mesg);
|
||||||
if (o->note)
|
if (o->note)
|
||||||
mem_free (o->note);
|
mem_free (o->note);
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &(*i)->next;
|
|
||||||
}
|
}
|
||||||
mem_free (alist_p);
|
mem_free (alist_p);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: day.c,v 1.45 2009/01/01 17:50:41 culot Exp $ */
|
/* $calcurse: day.c,v 1.46 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -62,14 +62,14 @@ day_free_list (void)
|
|||||||
struct day_item_s *o, **i;
|
struct day_item_s *o, **i;
|
||||||
|
|
||||||
i = &day_items_ptr;
|
i = &day_items_ptr;
|
||||||
for (o = day_items_ptr; o; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o->mesg);
|
mem_free (o->mesg);
|
||||||
if (o->note)
|
if (o->note)
|
||||||
mem_free (o->note);
|
mem_free (o->note);
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &(*i)->next;
|
|
||||||
}
|
}
|
||||||
day_items_ptr = NULL;
|
day_items_ptr = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: event.c,v 1.10 2009/01/01 17:50:41 culot Exp $ */
|
/* $calcurse: event.c,v 1.11 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -70,14 +70,14 @@ event_llist_free (void)
|
|||||||
struct event_s *o, **i;
|
struct event_s *o, **i;
|
||||||
|
|
||||||
i = &eventlist;
|
i = &eventlist;
|
||||||
for (o = eventlist; o; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o->mesg);
|
mem_free (o->mesg);
|
||||||
if (o->note)
|
if (o->note)
|
||||||
mem_free (o->note);
|
mem_free (o->note);
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &(*i)->next;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
src/io.c
3
src/io.c
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: io.c,v 1.52 2009/01/01 17:50:41 culot Exp $ */
|
/* $calcurse: io.c,v 1.53 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -2812,5 +2812,6 @@ io_start_psave_thread (conf_t *conf)
|
|||||||
void
|
void
|
||||||
io_stop_psave_thread (void)
|
io_stop_psave_thread (void)
|
||||||
{
|
{
|
||||||
|
if (io_t_psave)
|
||||||
pthread_cancel (io_t_psave);
|
pthread_cancel (io_t_psave);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: keys.c,v 1.12 2009/01/01 17:50:41 culot Exp $ */
|
/* $calcurse: keys.c,v 1.13 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -141,12 +141,12 @@ keys_free (void)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
i = &keys[key];
|
i = &keys[key];
|
||||||
for (o = keys[key]; o; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o->str);
|
mem_free (o->str);
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &o->next;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/* $calcurse: mem.c,v 1.1 2008/12/28 13:15:18 culot Exp $ */
|
/* $calcurse: mem.c,v 1.2 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
* Copyright (c) 2008 Frederic Culot
|
* Copyright (c) 2008-2009 Frederic Culot
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "i18n.h"
|
#include "i18n.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
37
src/recur.c
37
src/recur.c
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: recur.c,v 1.47 2009/01/01 17:50:41 culot Exp $ */
|
/* $calcurse: recur.c,v 1.48 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -44,18 +44,17 @@ static struct recur_event_s bkp_cut_recur_event;
|
|||||||
static recur_apoint_llist_node_t bkp_cut_recur_apoint;
|
static recur_apoint_llist_node_t bkp_cut_recur_apoint;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_exc (struct days_s **exc)
|
free_exc (struct days_s *exc)
|
||||||
{
|
{
|
||||||
struct days_s *o, **i;
|
struct days_s *o, **i;
|
||||||
|
|
||||||
i = exc;
|
i = &exc;
|
||||||
for (o = *exc; o; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &(*i)->next;
|
|
||||||
}
|
}
|
||||||
*exc = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -107,7 +106,7 @@ recur_event_free_bkp (void)
|
|||||||
}
|
}
|
||||||
if (bkp_cut_recur_event.exc)
|
if (bkp_cut_recur_event.exc)
|
||||||
{
|
{
|
||||||
free_exc (&bkp_cut_recur_event.exc);
|
free_exc (bkp_cut_recur_event.exc);
|
||||||
bkp_cut_recur_event.exc = 0;
|
bkp_cut_recur_event.exc = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -132,7 +131,7 @@ recur_apoint_free_bkp (void)
|
|||||||
}
|
}
|
||||||
if (bkp_cut_recur_apoint.exc)
|
if (bkp_cut_recur_apoint.exc)
|
||||||
{
|
{
|
||||||
free_exc (&bkp_cut_recur_apoint.exc);
|
free_exc (bkp_cut_recur_apoint.exc);
|
||||||
bkp_cut_recur_apoint.exc = 0;
|
bkp_cut_recur_apoint.exc = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -194,8 +193,9 @@ recur_apoint_llist_free (void)
|
|||||||
recur_apoint_llist_node_t *o, **i;
|
recur_apoint_llist_node_t *o, **i;
|
||||||
|
|
||||||
i = &recur_alist_p->root;
|
i = &recur_alist_p->root;
|
||||||
for (o = recur_alist_p->root; o; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o->mesg);
|
mem_free (o->mesg);
|
||||||
if (o->note)
|
if (o->note)
|
||||||
@ -204,11 +204,10 @@ recur_apoint_llist_free (void)
|
|||||||
mem_free (o->rpt);
|
mem_free (o->rpt);
|
||||||
if (o->exc)
|
if (o->exc)
|
||||||
{
|
{
|
||||||
free_exc (&o->exc);
|
free_exc (o->exc);
|
||||||
o->exc = 0;
|
o->exc = 0;
|
||||||
}
|
}
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &(*i)->next;
|
|
||||||
}
|
}
|
||||||
mem_free (recur_alist_p);
|
mem_free (recur_alist_p);
|
||||||
}
|
}
|
||||||
@ -219,8 +218,9 @@ recur_event_llist_free (void)
|
|||||||
struct recur_event_s *o, **i;
|
struct recur_event_s *o, **i;
|
||||||
|
|
||||||
i = &recur_elist;
|
i = &recur_elist;
|
||||||
for (o = recur_elist; o; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o->mesg);
|
mem_free (o->mesg);
|
||||||
if (o->note)
|
if (o->note)
|
||||||
@ -229,11 +229,10 @@ recur_event_llist_free (void)
|
|||||||
mem_free (o->rpt);
|
mem_free (o->rpt);
|
||||||
if (o->exc)
|
if (o->exc)
|
||||||
{
|
{
|
||||||
free_exc (&o->exc);
|
free_exc (o->exc);
|
||||||
o->exc = 0;
|
o->exc = 0;
|
||||||
}
|
}
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &(*i)->next;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,7 +257,8 @@ recur_apoint_new (char *mesg, char *note, long start, long dur, char state,
|
|||||||
if (except && *except)
|
if (except && *except)
|
||||||
{
|
{
|
||||||
exc_dup (&o->exc, *except);
|
exc_dup (&o->exc, *except);
|
||||||
free_exc (except);
|
free_exc (*except);
|
||||||
|
*except = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pthread_mutex_lock (&(recur_alist_p->mutex));
|
pthread_mutex_lock (&(recur_alist_p->mutex));
|
||||||
@ -298,7 +298,8 @@ recur_event_new (char *mesg, char *note, long day, int id, int type, int freq,
|
|||||||
if (except && *except)
|
if (except && *except)
|
||||||
{
|
{
|
||||||
exc_dup (&o->exc, *except);
|
exc_dup (&o->exc, *except);
|
||||||
free_exc (except);
|
free_exc (*except);
|
||||||
|
*except = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = &recur_elist;
|
i = &recur_elist;
|
||||||
@ -704,7 +705,7 @@ recur_event_erase (long start, unsigned num, unsigned delete_whole,
|
|||||||
*iptr = i->next;
|
*iptr = i->next;
|
||||||
mem_free (i->mesg);
|
mem_free (i->mesg);
|
||||||
mem_free (i->rpt);
|
mem_free (i->rpt);
|
||||||
free_exc (&i->exc);
|
free_exc (i->exc);
|
||||||
i->exc = 0;
|
i->exc = 0;
|
||||||
if (flag != ERASE_FORCE_KEEP_NOTE && flag != ERASE_CUT)
|
if (flag != ERASE_FORCE_KEEP_NOTE && flag != ERASE_CUT)
|
||||||
erase_note (&i->note, flag);
|
erase_note (&i->note, flag);
|
||||||
@ -767,7 +768,7 @@ recur_apoint_erase (long start, unsigned num, unsigned delete_whole,
|
|||||||
*iptr = i->next;
|
*iptr = i->next;
|
||||||
mem_free (i->mesg);
|
mem_free (i->mesg);
|
||||||
mem_free (i->rpt);
|
mem_free (i->rpt);
|
||||||
free_exc (&i->exc);
|
free_exc (i->exc);
|
||||||
i->exc = 0;
|
i->exc = 0;
|
||||||
if (flag != ERASE_FORCE_KEEP_NOTE && flag != ERASE_CUT)
|
if (flag != ERASE_FORCE_KEEP_NOTE && flag != ERASE_CUT)
|
||||||
erase_note (&i->note, flag);
|
erase_note (&i->note, flag);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: todo.c,v 1.29 2008/12/28 13:13:59 culot Exp $ */
|
/* $calcurse: todo.c,v 1.30 2009/01/02 19:52:32 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -492,14 +492,14 @@ todo_free_list (void)
|
|||||||
struct todo_s *o, **i;
|
struct todo_s *o, **i;
|
||||||
|
|
||||||
i = &todolist;
|
i = &todolist;
|
||||||
for (o = todolist; o != 0; o = o->next)
|
while (*i)
|
||||||
{
|
{
|
||||||
|
o = *i;
|
||||||
*i = o->next;
|
*i = o->next;
|
||||||
mem_free (o->mesg);
|
mem_free (o->mesg);
|
||||||
if (o->note != 0)
|
if (o->note != 0)
|
||||||
erase_note (&o->note, ERASE_FORCE_KEEP_NOTE);
|
erase_note (&o->note, ERASE_FORCE_KEEP_NOTE);
|
||||||
mem_free (o);
|
mem_free (o);
|
||||||
i = &(*i)->next;
|
|
||||||
}
|
}
|
||||||
if (todolist)
|
if (todolist)
|
||||||
mem_free (todolist);
|
mem_free (todolist);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user