several routines updated to take new appointment linked list structure into account
This commit is contained in:
parent
26c50ef0be
commit
1bea0ef337
56
src/day.c
56
src/day.c
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: day.c,v 1.7 2006/09/02 13:31:47 culot Exp $ */
|
/* $calcurse: day.c,v 1.8 2006/09/12 15:05:20 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -138,23 +138,25 @@ int day_store_events(long date)
|
|||||||
/*
|
/*
|
||||||
* Store the recurrent apoints for the selected day in structure pointed
|
* Store the recurrent apoints for the selected day in structure pointed
|
||||||
* by day_items_ptr. This is done by copying the appointments
|
* by day_items_ptr. This is done by copying the appointments
|
||||||
* from the general structure pointed by recur_alist to the structure
|
* from the general structure pointed by recur_alist_p->root to the
|
||||||
* dedicated to the selected day.
|
* structure dedicated to the selected day.
|
||||||
* Returns the number of recurrent appointments for the selected day.
|
* Returns the number of recurrent appointments for the selected day.
|
||||||
*/
|
*/
|
||||||
int day_store_recur_apoints(long date)
|
int day_store_recur_apoints(long date)
|
||||||
{
|
{
|
||||||
struct recur_apoint_s *j;
|
recur_apoint_llist_node_t *j;
|
||||||
struct day_item_s *ptr;
|
struct day_item_s *ptr;
|
||||||
int a_nb = 0;
|
int a_nb = 0;
|
||||||
|
|
||||||
for (j = recur_alist; j != 0; j = j->next) {
|
pthread_mutex_lock(&(recur_alist_p->mutex));
|
||||||
|
for (j = recur_alist_p->root; j != 0; j = j->next) {
|
||||||
if (recur_item_inday(j->start, j->exc, j->rpt->type, j->rpt->freq,
|
if (recur_item_inday(j->start, j->exc, j->rpt->type, j->rpt->freq,
|
||||||
j->rpt->until, date)) {
|
j->rpt->until, date)) {
|
||||||
a_nb++;
|
a_nb++;
|
||||||
ptr = day_add_apoint(RECUR_APPT, j->mesg, j->start, j->dur);
|
ptr = day_add_apoint(RECUR_APPT, j->mesg, j->start, j->dur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pthread_mutex_unlock(&(recur_alist_p->mutex));
|
||||||
|
|
||||||
return a_nb;
|
return a_nb;
|
||||||
}
|
}
|
||||||
@ -162,22 +164,24 @@ int day_store_recur_apoints(long date)
|
|||||||
/*
|
/*
|
||||||
* Store the apoints for the selected day in structure pointed
|
* Store the apoints for the selected day in structure pointed
|
||||||
* by day_items_ptr. This is done by copying the appointments
|
* by day_items_ptr. This is done by copying the appointments
|
||||||
* from the general structure pointed by apointlist to the structure
|
* from the general structure pointed by alist_p->root to the
|
||||||
* dedicated to the selected day.
|
* structure dedicated to the selected day.
|
||||||
* Returns the number of appointments for the selected day.
|
* Returns the number of appointments for the selected day.
|
||||||
*/
|
*/
|
||||||
int day_store_apoints(long date)
|
int day_store_apoints(long date)
|
||||||
{
|
{
|
||||||
struct apoint_s *j;
|
apoint_llist_node_t *j;
|
||||||
struct day_item_s *ptr;
|
struct day_item_s *ptr;
|
||||||
int a_nb = 0;
|
int a_nb = 0;
|
||||||
|
|
||||||
for (j = apointlist; j != 0; j = j->next) {
|
pthread_mutex_lock(&(alist_p->mutex));
|
||||||
|
for (j = alist_p->root; j != 0; j = j->next) {
|
||||||
if (apoint_inday(j, date)) {
|
if (apoint_inday(j, date)) {
|
||||||
a_nb++;
|
a_nb++;
|
||||||
ptr = day_add_apoint(APPT, j->mesg, j->start, j->dur);
|
ptr = day_add_apoint(APPT, j->mesg, j->start, j->dur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pthread_mutex_unlock(&(alist_p->mutex));
|
||||||
|
|
||||||
return a_nb;
|
return a_nb;
|
||||||
}
|
}
|
||||||
@ -223,7 +227,7 @@ struct day_item_s *day_add_apoint(int type, char *mesg, long start, long dur)
|
|||||||
if (*i == 0) {
|
if (*i == 0) {
|
||||||
insert_item = 1;
|
insert_item = 1;
|
||||||
} else if ( ((*i)->start > start) &&
|
} else if ( ((*i)->start > start) &&
|
||||||
((*i)->type >= type) ) {
|
((*i)->type > EVNT) ) {
|
||||||
insert_item = 1;
|
insert_item = 1;
|
||||||
}
|
}
|
||||||
if (insert_item) {
|
if (insert_item) {
|
||||||
@ -300,12 +304,15 @@ void day_write_pad(long date, int width, int length, int incolor, int colr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns a structure of type apoint_s given a structure of type day_item_s */
|
/*
|
||||||
struct apoint_s *day_item_s2apoint_s(struct day_item_s *p)
|
* Returns a structure of type apoint_llist_node_t given a structure of type
|
||||||
|
* day_item_s
|
||||||
|
*/
|
||||||
|
apoint_llist_node_t *day_item_s2apoint_s(struct day_item_s *p)
|
||||||
{
|
{
|
||||||
struct apoint_s *a;
|
apoint_llist_node_t *a;
|
||||||
|
|
||||||
a = (struct apoint_s *) malloc(sizeof(struct apoint_s));
|
a = (apoint_llist_node_t *) malloc(sizeof(apoint_llist_node_t));
|
||||||
a->mesg = (char *) malloc(strlen(p->mesg) + 1);
|
a->mesg = (char *) malloc(strlen(p->mesg) + 1);
|
||||||
a->start = p->start;
|
a->start = p->start;
|
||||||
a->dur = p->appt_dur;
|
a->dur = p->appt_dur;
|
||||||
@ -337,9 +344,9 @@ void day_popup_item(void)
|
|||||||
*/
|
*/
|
||||||
int day_check_if_item(int year, int month, int day) {
|
int day_check_if_item(int year, int month, int day) {
|
||||||
struct recur_event_s *re;
|
struct recur_event_s *re;
|
||||||
struct recur_apoint_s *ra;
|
recur_apoint_llist_node_t *ra;
|
||||||
struct event_s *e;
|
struct event_s *e;
|
||||||
struct apoint_s *a;
|
apoint_llist_node_t *a;
|
||||||
const long date = date2sec(year, month, day, 0, 0);
|
const long date = date2sec(year, month, day, 0, 0);
|
||||||
|
|
||||||
for (re = recur_elist; re != 0; re = re->next)
|
for (re = recur_elist; re != 0; re = re->next)
|
||||||
@ -347,18 +354,27 @@ void day_popup_item(void)
|
|||||||
re->rpt->freq, re->rpt->until, date))
|
re->rpt->freq, re->rpt->until, date))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
for (ra = recur_alist; ra != 0; ra = ra->next)
|
pthread_mutex_lock(&(recur_alist_p->mutex));
|
||||||
|
for (ra = recur_alist_p->root; ra != 0; ra = ra->next)
|
||||||
if (recur_item_inday(ra->start, ra->exc, ra->rpt->type,
|
if (recur_item_inday(ra->start, ra->exc, ra->rpt->type,
|
||||||
ra->rpt->freq, ra->rpt->until, date))
|
ra->rpt->freq, ra->rpt->until, date)) {
|
||||||
|
pthread_mutex_unlock(
|
||||||
|
&(recur_alist_p->mutex));
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
pthread_mutex_unlock(&(recur_alist_p->mutex));
|
||||||
|
|
||||||
for (e = eventlist; e != 0; e = e->next)
|
for (e = eventlist; e != 0; e = e->next)
|
||||||
if (event_inday(e, date))
|
if (event_inday(e, date))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
for (a = apointlist; a != 0; a = a->next)
|
pthread_mutex_lock(&(alist_p->mutex));
|
||||||
if (apoint_inday(a, date))
|
for (a = alist_p->root; a != 0; a = a->next)
|
||||||
|
if (apoint_inday(a, date)) {
|
||||||
|
pthread_mutex_unlock(&(alist_p->mutex));
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
pthread_mutex_unlock(&(alist_p->mutex));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user