summaryrefslogtreecommitdiffstats
path: root/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'common.h')
-rw-r--r--common.h131
1 files changed, 131 insertions, 0 deletions
diff --git a/common.h b/common.h
new file mode 100644
index 0000000..0ee870c
--- /dev/null
+++ b/common.h
@@ -0,0 +1,131 @@
+/* See LICENSE file for copyright and license details. */
+#if !defined(_XOPEN_SOURCE)
+# define _XOPEN_SOURCE 700
+#elif (_XOPEN_SOURCE + 0 < 700)
+# undef _XOPEN_SOURCE
+# define _XOPEN_SOURCE 700
+#endif
+#ifndef _BSD_SOURCE
+# define _BSD_SOURCE
+#endif
+#ifndef _DEFAULT_SOURCE
+# define _DEFAULT_SOURCE
+#endif
+
+#include <libcore.h>
+#include <libcore-arg.h>
+#include <libcore-aux.h>
+
+#define malloc2 libcore_malloc2
+#define malloc3 libcore_malloc3
+#define calloc3 libcore_calloc3
+#define realloc2 libcore_realloc2
+#define realloc3 libcore_realloc3
+#define enmalloc libcore_enmalloc
+#define enmalloc2 libcore_enmalloc2
+#define enmalloc3 libcore_enmalloc3
+#define encalloc libcore_encalloc
+#define encalloc3 libcore_encalloc3
+#define enrealloc libcore_enrealloc
+#define enrealloc2 libcore_enrealloc2
+#define enrealloc3 libcore_enrealloc3
+#define emalloc(N1) enmalloc(1, (N1))
+#define emalloc2(N1, N2) enmalloc2(1, (N1), (N2));
+#define emalloc3(N1, N2, N3) enmalloc3(1, (N1), (N2), (N3));
+#define ecalloc(N1, N2) encalloc(1, (N1), (N2));
+#define ecalloc3(N1, N2, N3) encalloc3(1, (N1), (N2), (N3));
+#define erealloc(PTR, N1) enrealloc(1, (PTR), (N1));
+#define erealloc2(PTR, N1, N2) enrealloc2(1, (PTR), (N1), (N2));
+#define erealloc3(PTR, N1, N2, N3) enrealloc3(1, (PTR), (N1), (N2), (N3));
+
+#define eprintf libcore_eprintf
+#define enprintf libcore_enprintf
+#define weprintf libcore_weprintf
+
+#define fshut libcore_fshut
+#define efshut libcore_efshut
+#define enfshut libcore_enfshut
+
+#define toji libcore_toji
+#define toju libcore_toju
+#define tozi libcore_tozi
+#define tozu libcore_tozu
+#define tolli libcore_tolli
+#define tollu libcore_tollu
+#define toli libcore_toli
+#define tolu libcore_tolu
+#define toi libcore_toi
+#define tou libcore_tou
+#define entoji_flag libcore_entoji_flag
+#define entoju_flag libcore_entoju_flag
+#define entozi_flag libcore_entozi_flag
+#define entozu_flag libcore_entozu_flag
+#define entolli_flag libcore_entolli_flag
+#define entollu_flag libcore_entollu_flag
+#define entoli_flag libcore_entoli_flag
+#define entolu_flag libcore_entolu_flag
+#define entoi_flag libcore_entoi_flag
+#define entou_flag libcore_entou_flag
+#define entoji_arg libcore_entoji_arg
+#define entoju_arg libcore_entoju_arg
+#define entozi_arg libcore_entozi_arg
+#define entozu_arg libcore_entozu_arg
+#define entolli_arg libcore_entolli_arg
+#define entollu_arg libcore_entollu_arg
+#define entoli_arg libcore_entoli_arg
+#define entolu_arg libcore_entolu_arg
+#define entoi_arg libcore_entoi_arg
+#define entou_arg libcore_entou_arg
+#define etoji_flag(...) libcore_etoji_flag(__VA_ARGS__)
+#define etoju_flag(...) libcore_etoju_flag(__VA_ARGS__)
+#define etozi_flag(...) libcore_etozi_flag(__VA_ARGS__)
+#define etozu_flag(...) libcore_etozu_flag(__VA_ARGS__)
+#define etolli_flag(...) libcore_etolli_flag(__VA_ARGS__)
+#define etollu_flag(...) libcore_etollu_flag(__VA_ARGS__)
+#define etoli_flag(...) libcore_etoli_flag(__VA_ARGS__)
+#define etolu_flag(...) libcore_etolu_flag(__VA_ARGS__)
+#define etoi_flag(...) libcore_etoi_flag(__VA_ARGS__)
+#define etou_flag(...) libcore_etou_flag(__VA_ARGS__)
+#define etoji_arg(...) libcore_etoji_arg(__VA_ARGS__)
+#define etoju_arg(...) libcore_etoju_arg(__VA_ARGS__)
+#define etozi_arg(...) libcore_etozi_arg(__VA_ARGS__)
+#define etozu_arg(...) libcore_etozu_arg(__VA_ARGS__)
+#define etolli_arg(...) libcore_etolli_arg(__VA_ARGS__)
+#define etollu_arg(...) libcore_etollu_arg(__VA_ARGS__)
+#define etoli_arg(...) libcore_etoli_arg(__VA_ARGS__)
+#define etolu_arg(...) libcore_etolu_arg(__VA_ARGS__)
+#define etoi_arg(...) libcore_etoi_arg(__VA_ARGS__)
+#define etou_arg(...) libcore_etou_arg(__VA_ARGS__)
+#define tof libcore_tof
+#define tolf libcore_tolf
+#define tollf libcore_tollf
+#define entof_flag libcore_entof_flag
+#define entof_arg libcore_entof_arg
+#define entolf_flag libcore_entolf_flag
+#define entolf_arg libcore_entolf_arg
+#define entollf_flag libcore_entollf_flag
+#define entollf_arg libcore_entollf_arg
+#define etof_flag(...) libcore_etof_flag(__VA_ARGS__)
+#define etof_arg(...) libcore_etof_arg(__VA_ARGS__)
+#define etolf_flag(...) libcore_etolf_flag(__VA_ARGS__)
+#define etolf_arg(...) libcore_etolf_arg(__VA_ARGS__)
+#define etollf_flag(...) libcore_etollf_flag(__VA_ARGS__)
+#define etollf_arg(...) libcore_etollf_arg(__VA_ARGS__)
+
+
+static inline long int
+estrtol(const char *s, int base)
+{
+ int saved_errno = errno;
+ long long int ret;
+ char *end;
+ errno = 0;
+ ret = strtol(s, &end, base);
+ if (errno || *end) {
+ if (!errno)
+ errno = EINVAL;
+ eprintf("strtol %s:", s);
+ }
+ errno = saved_errno;
+ return ret;
+}