aboutsummaryrefslogtreecommitdiffhomepage
path: root/util/error_util.c
diff options
context:
space:
mode:
authorGravatar David Bremner <bremner@debian.org>2011-10-23 12:05:13 -0300
committerGravatar David Bremner <bremner@debian.org>2011-10-30 23:09:49 -0300
commit1dedfc90f6eee7cad10f1a1ceb39a7a1c4dbd1b1 (patch)
tree79cb128de2cf3a5249b2c31e0d319ed14134505e /util/error_util.c
parenta1ca7e8ebb49ee92ebe8e4abe3db27491d7bbddf (diff)
xutil.c: remove duplicate copies, create new library libutil.a to contain xutil.
We keep the lib/xutil.c version. As a consequence, also factor out _internal_error and associated macros. It might be overkill to make a new file error_util.c for this, but _internal_error does not really belong in database.cc.
Diffstat (limited to 'util/error_util.c')
-rw-r--r--util/error_util.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/util/error_util.c b/util/error_util.c
new file mode 100644
index 00000000..630d2281
--- /dev/null
+++ b/util/error_util.c
@@ -0,0 +1,41 @@
+/* error_util.c - internal error utilities for notmuch.
+ *
+ * Copyright © 2009 Carl Worth
+ *
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see http://www.gnu.org/licenses/ .
+ *
+ * Author: Carl Worth <cworth@cworth.org>
+ */
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+#include "error_util.h"
+
+int
+_internal_error (const char *format, ...)
+{
+ va_list va_args;
+
+ va_start (va_args, format);
+
+ fprintf (stderr, "Internal error: ");
+ vfprintf (stderr, format, va_args);
+
+ exit (1);
+
+ return 1;
+}
+