aboutsummaryrefslogtreecommitdiffhomepage
path: root/util/xutil.h
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/xutil.h
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/xutil.h')
-rw-r--r--util/xutil.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/util/xutil.h b/util/xutil.h
new file mode 100644
index 00000000..fd77f733
--- /dev/null
+++ b/util/xutil.h
@@ -0,0 +1,55 @@
+/* xutil.h - Various wrapper functions to abort on error.
+ *
+ * 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>
+ */
+
+#ifndef NOTMUCH_XUTIL_H
+#define NOTMUCH_XUTIL_H
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <regex.h>
+
+#pragma GCC visibility push(hidden)
+
+/* xutil.c */
+void *
+xcalloc (size_t nmemb, size_t size);
+
+void *
+xmalloc (size_t size);
+
+void *
+xrealloc (void *ptrr, size_t size);
+
+char *
+xstrdup (const char *s);
+
+char *
+xstrndup (const char *s, size_t n);
+
+void
+xregcomp (regex_t *preg, const char *regex, int cflags);
+
+int
+xregexec (const regex_t *preg, const char *string,
+ size_t nmatch, regmatch_t pmatch[], int eflags);
+
+#pragma GCC visibility pop
+
+#endif