summaryrefslogtreecommitdiffstats
path: root/src/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.c')
-rwxr-xr-xsrc/utils.c116
1 files changed, 27 insertions, 89 deletions
diff --git a/src/utils.c b/src/utils.c
index b04f023..f421f10 100755
--- a/src/utils.c
+++ b/src/utils.c
@@ -1,4 +1,4 @@
-/* $calcurse: utils.c,v 1.56 2008/12/08 19:17:07 culot Exp $ */
+/* $calcurse: utils.c,v 1.57 2008/12/12 20:44:50 culot Exp $ */
/*
* Calcurse - text-based organizer
@@ -62,64 +62,27 @@ exit_calcurse (int status)
/* Function to exit on internal error. */
void
-ierror (const char *errmsg, ierror_sev_e sev)
+fatalbox (const char *errmsg)
{
WINDOW *errwin;
- char *label = _("INTERNAL ERROR");
- char *exitmsg = _("calcurse will now exit...");
- char *reportmsg = _("Please report the following bug:");
- const int winrow = 10;
- const int wincol = col - 2;
- const int msglen = wincol - 2;
- char msg[msglen];
-
- strncpy (msg, errmsg, msglen);
- errwin = newwin (winrow, wincol, (row - winrow) / 2, (col - wincol) / 2);
+ char *label = _("/!\\ INTERNAL ERROR /!\\");
+ char *reportmsg = _("Please report the following bug:");
+ const int WINROW = 10;
+ const int WINCOL = col - 2;
+ const int MSGLEN = WINCOL - 2;
+ char msg[MSGLEN];
+
+ strncpy (msg, errmsg, MSGLEN);
+ errwin = newwin (WINROW, WINCOL, (row - WINROW) / 2, (col - WINCOL) / 2);
custom_apply_attr (errwin, ATTR_HIGHEST);
box (errwin, 0, 0);
wins_show (errwin, label);
- if (sev == IERROR_FATAL)
- mvwprintw (errwin, 3, 1, reportmsg);
- mvwprintw (errwin, 5, (wincol - strlen (msg)) / 2, "%s", msg);
- if (sev == IERROR_FATAL)
- mvwprintw (errwin, winrow - 2, wincol - strlen (exitmsg) - 1, "%s",
- exitmsg);
+ mvwprintw (errwin, 3, 1, reportmsg);
+ mvwprintw (errwin, 5, (WINCOL - strlen (msg)) / 2, "%s", msg);
custom_remove_attr (errwin, ATTR_HIGHEST);
wrefresh (errwin);
(void)wgetch (errwin);
- if (sev == IERROR_FATAL)
- exit_calcurse (EXIT_FAILURE);
-}
-
-/* Function to handle an assertion failure. */
-void
-aerror (const char *file, int line, const char *assertion)
-{
- char errmsg[BUFSIZ];
-
- snprintf (errmsg, BUFSIZ,
- "assert \"%s\" failed: file \"%s\", line %d", assertion, file,
- line);
- ierror (errmsg, IERROR_FATAL);
-}
-
-void
-warnbox (const char *msg)
-{
- const int WINCOL = col - 2;
- const int WINROW = 10;
- const int MSGLEN = WINCOL - 2;
- WINDOW *warnwin;
- char displmsg[MSGLEN];
-
- if (msg == NULL)
- return;
- strncpy (displmsg, msg, MSGLEN);
- warnwin = popup (WINROW, WINCOL, (row - WINROW) / 2, (col - WINCOL) / 2,
- "/!\\", displmsg, 1);
- wrefresh (warnwin);
- (void)wgetch (warnwin);
- delwin (warnwin);
+ delwin (errwin);
doupdate ();
}
@@ -406,14 +369,9 @@ updatestring (WINDOW *win, char **str, int x, int y)
if (!escape)
{
len = strlen (newstr) + 1;
- if ((*str = (char *) realloc (*str, len)) == NULL)
- {
- /* NOTREACHED */
- ierror (_("FATAL ERROR in updatestring: out of memory"),
- IERROR_FATAL);
- }
- else
- (void) memcpy (*str, newstr, len);
+ *str = (char *) realloc (*str, len);
+ EXIT_IF (*str == 0, _("out of memory"));
+ (void) memcpy (*str, newstr, len);
}
free (newstr);
return (escape);
@@ -628,7 +586,7 @@ update_time_in_date (long date, unsigned hr, unsigned mn)
lt->tm_hour = hr;
lt->tm_min = mn;
new_date = mktime (lt);
- ASSERT (new_date != -1);
+ EXIT_IF (new_date == -1, _("error in mktime"));
return (new_date);
}
@@ -773,7 +731,6 @@ void
other_status_page (int panel)
{
int nb_item = 0, max_page;
- char *error = _("FATAL ERROR in other_status_page: unknown panel\n");
switch (panel)
{
@@ -787,7 +744,8 @@ other_status_page (int panel)
nb_item = NB_TOD_CMDS;
break;
default:
- ierror (error, IERROR_FATAL);
+ EXIT (_("unknown panel"));
+ /* NOTREACHED */
}
max_page = ceil (nb_item / (2 * CMDS_PER_LINE + 1)) + 1;
if (status_page < max_page)
@@ -825,34 +783,18 @@ now (void)
return (current_time);
}
-/* Copy a string */
-char *
-mycpy (const char *src)
-{
- char *string = malloc (strlen (src) + 1);
-
- if (string != NULL)
- return (strncpy (string, src, strlen (src) + 1));
- else
- return (NULL);
-}
-
long
mystrtol (const char *str)
{
char *ep;
long lval;
- const char *not_a_number =
- _("FATAL ERROR in mystrtol: could not convert string");
- const char *out_of_range =
- _("FATAL ERROR in mystrtol: number is out of range");
errno = 0;
lval = strtol (str, &ep, 10);
if (str[0] == '\0' || *ep != '\0')
- ierror (not_a_number, IERROR_FATAL);
+ EXIT (_("could not convert string"));
if (errno == ERANGE && (lval == LONG_MAX || lval == LONG_MIN))
- ierror (out_of_range, IERROR_FATAL);
+ EXIT (_("out of range"));
return (lval);
}
@@ -875,10 +817,8 @@ print_bool_option_incolor (WINDOW *win, bool option, int pos_y, int pos_x)
strncpy (option_value, _("no"), BUFSIZ);
}
else
- {
- ierror (_("option not defined - Problem in print_option_incolor()"),
- IERROR_FATAL);
- }
+ EXIT (_("option not defined"));
+
custom_apply_attr (win, color);
mvwprintw (win, pos_y, pos_x, "%s", option_value);
custom_remove_attr (win, color);
@@ -913,9 +853,8 @@ new_tempfile (const char *prefix, int trailing_len)
unlink (fullname);
close (fd);
}
- ierror (_("FATAL ERROR: temporary file could not be created!"),
- IERROR_WARN);
- return (NULL);
+ ERROR_MSG (_("temporary file could not be created"));
+ return (char *)0;
}
fclose (file);
@@ -927,7 +866,6 @@ void
erase_note (char **note, erase_flag_e flag)
{
char fullname[BUFSIZ];
- char *errmsg = _("FATAL ERROR in erase_note: could not remove note\n");
if (*note == NULL)
return;
@@ -935,7 +873,7 @@ erase_note (char **note, erase_flag_e flag)
{
snprintf (fullname, BUFSIZ, "%s%s", path_notes, *note);
if (unlink (fullname) != 0)
- ierror (errmsg, IERROR_FATAL);
+ EXIT (_("could not remove note"));
}
free (*note);
*note = NULL;