summaryrefslogtreecommitdiff
path: root/btxs_support.h
diff options
context:
space:
mode:
Diffstat (limited to 'btxs_support.h')
-rw-r--r--btxs_support.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/btxs_support.h b/btxs_support.h
new file mode 100644
index 0000000..0092e9b
--- /dev/null
+++ b/btxs_support.h
@@ -0,0 +1,45 @@
+/* ------------------------------------------------------------------------
+@NAME : btxs_support.h
+@DESCRIPTION: Macros, prototypes, and whatnot needed by both btxs_support.c
+ and BibTeX.xs.
+@GLOBALS :
+@CREATED : 1997/11/16, Greg Ward
+@MODIFIED :
+@VERSION : $Id: btxs_support.h 3032 2006-09-21 20:05:55Z ambs $
+@COPYRIGHT : Copyright (c) 1997-2000 by Gregory P. Ward. All rights reserved.
+-------------------------------------------------------------------------- */
+
+#ifndef BTXS_SUPPORT_H
+#define BTXS_SUPPORT_H
+
+#ifndef BT_DEBUG
+# define BT_DEBUG 0
+#endif
+
+#if BT_DEBUG
+# define DBG_ACTION(level,action) if (BT_DEBUG >= level) { action; }
+#else
+# define DBG_ACTION(level,action)
+#endif
+
+/* Portability hacks go here... */
+
+/*
+ * First, on SGIs, <string.h> doesn't prototype strdup() if _POSIX_SOURCE
+ * is defined -- and it usually is for Perl, because that's the default.
+ * So we workaround this by putting a prototype here. Yuck.
+ */
+#if defined(__sgi) && defined(_POSIX_SOURCE)
+extern char *strdup(const char *);
+#endif
+
+
+/* Prototypes */
+void store_stringlist (HV *hash, char *key, char **list, int num_strings);
+void ast_to_hash (SV * entry_ref,
+ AST * top,
+ boolean parse_status,
+ boolean preserve);
+int constant (char * name, IV * arg);
+
+#endif /* BTXS_SUPPORT_H */