 void debug(char *format,...);
 void debug0(char *format,...);
 void enter(char *format,...);
 void leave(char *format,...);
#define eq(s,t) (strcmp(s, t) == 0) 
#define n_eq(s,t,n) (strncmp(s, t, n) == 0) 
 unsigned char upcase[256] ;
 unsigned char downcase[256] ;
  int  case_eq(const char *s, const char *t);
  int  case_n_eq(const char *s, const char *t, const int n);
 void errexit(char *format,...);
#define fatal(msg) fatal3(msg, /*"*/__FI ## LE__/*"*/, /*"*/__LI ## NE__/*"*/) 
#define new(p) if (((p)=malloc(sizeof(*(p))))); else fatal3("out of memory", /*"*/__FI ## LE__/*"*/, /*"*/__LI ## NE__/*"*/) 
#define dispose(p) if (!(p)) ; else (free(p), (p) = (void*)0) 
#define heapmax(p) 9999999 
#define newstring(s) heap_newstring(s, -1, /*"*/__FI ## LE__/*"*/, /*"*/__LI ## NE__/*"*/) 
#define newnstring(s,n) heap_newstring(s, n, /*"*/__FI ## LE__/*"*/, /*"*/__LI ## NE__/*"*/) 
#define newarray(p,n) if (((p)=malloc((n)*sizeof(*(p))))); else fatal3("out of memory", /*"*/__FI ## LE__/*"*/, /*"*/__LI ## NE__/*"*/) 
#define renewarray(p,n) if (((p)=realloc(p,(n)*sizeof(*(p))))); else fatal3("out of memory", /*"*/__FI ## LE__/*"*/, /*"*/__LI ## NE__/*"*/) 
 void fatal3(const char *s, const char *file, const int line);
 char * heap_newstring(const char *s, int n, const char *file, int line);
 char *skip_spaces(char *s);
#define empty(s) (!s || !*s) 
 void del_trailing_blanks(char *s);
 void trim(char *s);
 void minimize(char *s);
  int  parse_date(char *s, time_t *t);
 typedef struct _Strip {
    char *s;
    unsigned int hashix;
    struct _Strip *next;
} *Strip;
#define HASHSIZE 5003 
#define hfcase_eq(a, b) ((a)->hashix == (b)->hashix) 
#define hcase_eq(a, b) (((a)->hashix == (b)->hashix) ? case_eq((a)->s, (b)->s) : (0)) 
#define strip2str(x) ((x) ? (x)->s : "") 
#define strip2hash(x) ((x) ? (x)->hashix : 0) 
 Strip str2strip(const char *s);
 Strip strn2strip(const char *s, int n);
 Strip stru2strip(const char *s);
 Strip strnu2strip(const char *s, int n);
 void lowercase(char *s);
 void uppercase(char *s);
 void warning(char *format,...);
 void error(const char *format,...);
 char *tokenize(char *s, char *set, char **next);
