summaryrefslogtreecommitdiffstats
path: root/utils.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 15:45:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 15:45:37 +0000
commite0801e6bd6cc1241afafea33ba8ef701fec2e5c5 (patch)
treeb5cf84f45181b3dbc14d58833d88683fb7f3465e /utils.h
parentInitial commit. (diff)
downloadwhois-e0801e6bd6cc1241afafea33ba8ef701fec2e5c5.tar.xz
whois-e0801e6bd6cc1241afafea33ba8ef701fec2e5c5.zip
Adding upstream version 5.5.17.upstream/5.5.17upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'utils.h')
-rw-r--r--utils.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/utils.h b/utils.h
new file mode 100644
index 0000000..32055b3
--- /dev/null
+++ b/utils.h
@@ -0,0 +1,63 @@
+#ifndef WHOIS_UTILS_H
+#define WHOIS_UTILS_H
+
+/* Convenience macros */
+#define streq(a, b) (strcmp(a, b) == 0)
+#define strcaseeq(a, b) (strcasecmp(a, b) == 0)
+#define strneq(a, b, n) (strncmp(a, b, n) == 0)
+#define strncaseeq(a, b, n) (strncasecmp(a, b, n) == 0)
+
+#define NOFAIL(ptr) do_nofail((ptr), __FILE__, __LINE__)
+
+#ifndef AFL_MODE
+# define AFL_MODE 0
+#endif
+
+/* Portability macros */
+#ifdef __GNUC__
+# define NORETURN __attribute__((noreturn))
+#else
+# define NORETURN
+#endif
+
+#ifndef AI_IDN
+# define AI_IDN 0
+#endif
+
+#ifndef AI_ADDRCONFIG
+# define AI_ADDRCONFIG 0
+#endif
+
+#ifdef HAVE_GETOPT_LONG
+# define GETOPT_LONGISH(c, v, o, l, i) getopt_long(c, v, o, l, i)
+#else
+# define GETOPT_LONGISH(c, v, o, l, i) getopt(c, v, o)
+#endif
+
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# include <locale.h>
+# define _(a) (gettext(a))
+# ifdef gettext_noop
+# define N_(a) gettext_noop(a)
+# else
+# define N_(a) (a)
+# endif
+#else
+# define _(a) (a)
+# define N_(a) (a)
+# define ngettext(a, b, c) ((c==1) ? (a) : (b))
+#endif
+
+#if defined IDN2_VERSION_NUMBER && IDN2_VERSION_NUMBER < 0x00140000
+# define IDN2_NONTRANSITIONAL IDN2_NFC_INPUT
+#endif
+
+/* Prototypes */
+void *do_nofail(void *ptr, const char *file, const int line);
+char **merge_args(char *args, char *argv[], int *argc);
+
+void NORETURN err_quit(const char *fmt, ...);
+void NORETURN err_sys(const char *fmt, ...);
+
+#endif