error handling while in ncurses mode improved
This commit is contained in:
parent
e6b1cf4b7e
commit
ff60394c8e
@ -1,3 +1,9 @@
|
|||||||
|
04 Aug 2007:
|
||||||
|
ASSERT macro created
|
||||||
|
aerror() and ierror() created to improve error handling while in ncurses
|
||||||
|
mode
|
||||||
|
exit_calcurse() updated to take exit code as argument
|
||||||
|
|
||||||
29 Jul 2007:
|
29 Jul 2007:
|
||||||
compiler warnings fixed
|
compiler warnings fixed
|
||||||
|
|
||||||
|
20
src/apoint.c
20
src/apoint.c
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: apoint.c,v 1.14 2007/07/29 20:59:09 culot Exp $ */
|
/* $calcurse: apoint.c,v 1.15 2007/08/04 14:34:03 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -186,10 +186,11 @@ apoint_delete(conf_t *conf, unsigned *nb_events, unsigned *nb_apoints,
|
|||||||
{
|
{
|
||||||
char *choices = "[y/n] ";
|
char *choices = "[y/n] ";
|
||||||
char *del_app_str = _("Do you really want to delete this item ?");
|
char *del_app_str = _("Do you really want to delete this item ?");
|
||||||
|
const char *errmsg = _("FATAL ERROR in apoint_delete: no such type\n");
|
||||||
long date;
|
long date;
|
||||||
int nb_items = *nb_apoints + *nb_events;
|
int nb_items = *nb_apoints + *nb_events;
|
||||||
bool go_for_deletion = false;
|
bool go_for_deletion = false;
|
||||||
int to_be_removed;
|
int to_be_removed = 0;
|
||||||
int answer = 0;
|
int answer = 0;
|
||||||
int deleted_item_type = 0;
|
int deleted_item_type = 0;
|
||||||
|
|
||||||
@ -222,12 +223,9 @@ apoint_delete(conf_t *conf, unsigned *nb_events, unsigned *nb_apoints,
|
|||||||
to_be_removed = 3;
|
to_be_removed = 3;
|
||||||
} else if (deleted_item_type == 0) {
|
} else if (deleted_item_type == 0) {
|
||||||
to_be_removed = 0;
|
to_be_removed = 0;
|
||||||
} else {
|
} else
|
||||||
fputs(_("FATAL ERROR in apoint_delete: no such type\n"),
|
ierror(errmsg);
|
||||||
stderr);
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
/* NOTREACHED */
|
/* NOTREACHED */
|
||||||
}
|
|
||||||
|
|
||||||
if (*hilt_app > 1)
|
if (*hilt_app > 1)
|
||||||
(*hilt_app)--;
|
(*hilt_app)--;
|
||||||
@ -365,8 +363,7 @@ void apoint_delete_bynum(long start, unsigned num)
|
|||||||
pthread_mutex_unlock(&(alist_p->mutex));
|
pthread_mutex_unlock(&(alist_p->mutex));
|
||||||
|
|
||||||
/* NOTREACHED */
|
/* NOTREACHED */
|
||||||
fputs(_("FATAL ERROR in apoint_delete_bynum: no such appointment\n"), stderr);
|
ierror(_("FATAL ERROR in apoint_delete_bynum: no such appointment"));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -542,9 +539,8 @@ apoint_switch_notify(int item_num)
|
|||||||
pthread_mutex_unlock(&(alist_p->mutex));
|
pthread_mutex_unlock(&(alist_p->mutex));
|
||||||
|
|
||||||
/* NOTREACHED */
|
/* NOTREACHED */
|
||||||
fputs(_("FATAL ERROR in apoint_switch_notify: no such appointment\n"),
|
ierror(
|
||||||
stderr);
|
_("FATAL ERROR in apoint_switch_notify: no such appointment"));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Updates the Appointment panel */
|
/* Updates the Appointment panel */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: calcurse.c,v 1.52 2007/07/29 20:59:09 culot Exp $ */
|
/* $calcurse: calcurse.c,v 1.53 2007/08/04 14:34:03 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -472,13 +472,13 @@ main(int argc, char **argv)
|
|||||||
status_mesg(_(quit_message), choices);
|
status_mesg(_(quit_message), choices);
|
||||||
ch = wgetch(swin);
|
ch = wgetch(swin);
|
||||||
if ( ch == 'y' )
|
if ( ch == 'y' )
|
||||||
exit_calcurse();
|
exit_calcurse(EXIT_SUCCESS);
|
||||||
else {
|
else {
|
||||||
erase_status_bar();
|
erase_status_bar();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
exit_calcurse();
|
exit_calcurse(EXIT_SUCCESS);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: day.c,v 1.26 2007/07/29 20:59:09 culot Exp $ */
|
/* $calcurse: day.c,v 1.27 2007/08/04 14:34:03 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -387,10 +387,9 @@ void day_popup_item(void)
|
|||||||
day_saved_item->type == RECUR_APPT)
|
day_saved_item->type == RECUR_APPT)
|
||||||
item_in_popup(day_saved_item->start, day_saved_item->end,
|
item_in_popup(day_saved_item->start, day_saved_item->end,
|
||||||
day_saved_item->mesg, _("Appointment :"));
|
day_saved_item->mesg, _("Appointment :"));
|
||||||
else { /* NOT REACHED */
|
else
|
||||||
fputs(error, stderr);
|
ierror(error);
|
||||||
exit(EXIT_FAILURE);
|
/* NOTREACHED */
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
34
src/io.c
34
src/io.c
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: io.c,v 1.19 2007/07/29 20:59:09 culot Exp $ */
|
/* $calcurse: io.c,v 1.20 2007/08/04 14:34:03 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -45,19 +45,9 @@ typedef enum {
|
|||||||
PROGRESS_BAR_EXPORT
|
PROGRESS_BAR_EXPORT
|
||||||
} progress_bar_t;
|
} progress_bar_t;
|
||||||
|
|
||||||
static void progress_bar(progress_bar_t type, int progress);
|
|
||||||
static FILE *io_get_export_stream(void);
|
|
||||||
static void io_export_valarm(FILE *stream);
|
|
||||||
static void io_export_header(FILE *stream);
|
|
||||||
static void io_export_footer(FILE *stream);
|
|
||||||
static void io_export_recur_events(FILE *stream);
|
|
||||||
static void io_export_events(FILE *stream);
|
|
||||||
static void io_export_apoints(FILE *stream);
|
|
||||||
static void io_export_todo(FILE *stream);
|
|
||||||
static char *io_recur_type(int type);
|
|
||||||
|
|
||||||
/* Draw a progress bar while saving, loading or exporting data. */
|
/* Draw a progress bar while saving, loading or exporting data. */
|
||||||
void
|
static void
|
||||||
progress_bar(progress_bar_t type, int progress)
|
progress_bar(progress_bar_t type, int progress)
|
||||||
{
|
{
|
||||||
#define SLEEPTIME 125000
|
#define SLEEPTIME 125000
|
||||||
@ -114,7 +104,7 @@ progress_bar(progress_bar_t type, int progress)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Return the recurrence type to dump in iCal format. */
|
/* Return the recurrence type to dump in iCal format. */
|
||||||
char *
|
static char *
|
||||||
io_recur_type(int type)
|
io_recur_type(int type)
|
||||||
{
|
{
|
||||||
char *recur_type[RECUR_TYPES] =
|
char *recur_type[RECUR_TYPES] =
|
||||||
@ -124,7 +114,7 @@ io_recur_type(int type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Ask user for a file name to export data to. */
|
/* Ask user for a file name to export data to. */
|
||||||
FILE *
|
static FILE *
|
||||||
io_get_export_stream(void)
|
io_get_export_stream(void)
|
||||||
{
|
{
|
||||||
FILE *stream;
|
FILE *stream;
|
||||||
@ -158,7 +148,7 @@ io_get_export_stream(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* iCal alarm notification. */
|
/* iCal alarm notification. */
|
||||||
void
|
static void
|
||||||
io_export_valarm(FILE *stream)
|
io_export_valarm(FILE *stream)
|
||||||
{
|
{
|
||||||
fprintf(stream, "BEGIN:VALARM\n");
|
fprintf(stream, "BEGIN:VALARM\n");
|
||||||
@ -170,7 +160,7 @@ io_export_valarm(FILE *stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Export header. */
|
/* Export header. */
|
||||||
void
|
static void
|
||||||
io_export_header(FILE *stream)
|
io_export_header(FILE *stream)
|
||||||
{
|
{
|
||||||
fprintf(stream, "BEGIN:VCALENDAR\n");
|
fprintf(stream, "BEGIN:VCALENDAR\n");
|
||||||
@ -180,14 +170,14 @@ io_export_header(FILE *stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Export footer. */
|
/* Export footer. */
|
||||||
void
|
static void
|
||||||
io_export_footer(FILE *stream)
|
io_export_footer(FILE *stream)
|
||||||
{
|
{
|
||||||
fprintf(stream, "END:VCALENDAR\n");
|
fprintf(stream, "END:VCALENDAR\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Export recurrent events. */
|
/* Export recurrent events. */
|
||||||
void
|
static void
|
||||||
io_export_recur_events(FILE *stream)
|
io_export_recur_events(FILE *stream)
|
||||||
{
|
{
|
||||||
struct recur_event_s *i;
|
struct recur_event_s *i;
|
||||||
@ -223,7 +213,7 @@ io_export_recur_events(FILE *stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Export events. */
|
/* Export events. */
|
||||||
void
|
static void
|
||||||
io_export_events(FILE *stream)
|
io_export_events(FILE *stream)
|
||||||
{
|
{
|
||||||
struct event_s *i;
|
struct event_s *i;
|
||||||
@ -239,7 +229,7 @@ io_export_events(FILE *stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Export recurrent appointments. */
|
/* Export recurrent appointments. */
|
||||||
void
|
static void
|
||||||
io_export_recur_apoints(FILE *stream)
|
io_export_recur_apoints(FILE *stream)
|
||||||
{
|
{
|
||||||
recur_apoint_llist_node_t *i;
|
recur_apoint_llist_node_t *i;
|
||||||
@ -282,7 +272,7 @@ io_export_recur_apoints(FILE *stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Export appointments. */
|
/* Export appointments. */
|
||||||
void
|
static void
|
||||||
io_export_apoints(FILE *stream)
|
io_export_apoints(FILE *stream)
|
||||||
{
|
{
|
||||||
apoint_llist_node_t *i;
|
apoint_llist_node_t *i;
|
||||||
@ -303,7 +293,7 @@ io_export_apoints(FILE *stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Export todo items. */
|
/* Export todo items. */
|
||||||
void
|
static void
|
||||||
io_export_todo(FILE *stream)
|
io_export_todo(FILE *stream)
|
||||||
{
|
{
|
||||||
struct todo_s *i;
|
struct todo_s *i;
|
||||||
|
16
src/notify.c
16
src/notify.c
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: notify.c,v 1.17 2007/07/29 20:59:09 culot Exp $ */
|
/* $calcurse: notify.c,v 1.18 2007/08/04 14:34:03 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -124,16 +124,12 @@ launch_cmd(char *cmd, char *shell)
|
|||||||
|
|
||||||
pid = fork();
|
pid = fork();
|
||||||
|
|
||||||
if (pid < 0) {
|
if (pid < 0)
|
||||||
fputs(_("FATAL ERROR in launch_cmd: could not fork\n"),
|
ierror(_("FATAL ERROR in launch_cmd: could not fork"));
|
||||||
stderr);
|
else if (pid == 0) /* Child: launch user defined command */
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
} else if (pid == 0) { /* Child: launch user defined command */
|
|
||||||
if (execlp(shell, shell, "-c", cmd, (char *)NULL) < 0)
|
if (execlp(shell, shell, "-c", cmd, (char *)NULL) < 0)
|
||||||
fputs(_("FATAL ERROR in launch_cmd: could not "
|
ierror(_("FATAL ERROR in launch_cmd: could not "
|
||||||
"launch user command\n"), stderr);
|
"launch user command"));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: wins.c,v 1.3 2007/07/28 13:11:43 culot Exp $ */
|
/* $Id: wins.c,v 1.4 2007/08/04 14:34:03 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -321,9 +321,7 @@ wins_update(conf_t *conf, window_t *winbar, window_t *winapp, window_t *wintod,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fputs(_("FATAL ERROR in wins_update: no window selected\n"),
|
ierror(_("FATAL ERROR in wins_update: no window selected\n"));
|
||||||
stderr);
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
/* NOTREACHED */
|
/* NOTREACHED */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user