/* ------------------------------------------------------------------------ @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 670 2000-03-23 02:08:40Z greg $ @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, 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 */