error handling while in ncurses mode improved

This commit is contained in:
Frederic Culot 2007-08-04 14:34:03 +00:00
parent e6b1cf4b7e
commit ff60394c8e
7 changed files with 41 additions and 56 deletions

View File

@ -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

View File

@ -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 */

View File

@ -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;
} }

View File

@ -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 */
}
} }
/* /*

View File

@ -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;

View File

@ -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);
}
} }
/* /*

View File

@ -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 */
} }