135ce52e9Ssam #define numeric(c) (c>='0' && c<='9') 235ce52e9Ssam #define max(a,b) (a<b ? b : a) 335ce52e9Ssam #define min(a,b) (a>b ? b : a) 435ce52e9Ssam #define abs(x) (x<0 ? -x : x) 535ce52e9Ssam 6bea2804dSsam #define copy(src,dest) strcpy(dest,src) 735ce52e9Ssam #define compare(str1,str2) strcmp(str1,str2) 835ce52e9Ssam #define equal(str1,str2) !strcmp(str1,str2) 935ce52e9Ssam #define length(str) strlen(str) 1035ce52e9Ssam #define size(str) (1+strlen(str)) 1135ce52e9Ssam 1235ce52e9Ssam #include "sys/types.h" 1335ce52e9Ssam #include "sys/stat.h" 1435ce52e9Ssam struct stat Statbuf; 1535ce52e9Ssam #define exists(file) (stat(file,&Statbuf)<0 ? 0:Statbuf.st_mode) 1635ce52e9Ssam 1735ce52e9Ssam #define xfopen(file,mode) fdopen(xopen(file,mode),mode==0?"r":mode==1?"w":"r+w") 1835ce52e9Ssam #define xfcreat(file,mode) fdopen(xcreat(file,mode),"w") 1935ce52e9Ssam #define remove(file) xunlink(file) 2035ce52e9Ssam 21*dd7005ceSlepreau #define SCCSID(arg) static char Sccsid[] = "arg" 2235ce52e9Ssam 2335ce52e9Ssam #define USXALLOC() 2435ce52e9Ssam 2535ce52e9Ssam #define NONBLANK(p) while (*p==' ' || *p=='\t') p++ 2635ce52e9Ssam 2735ce52e9Ssam char Null[1]; 2835ce52e9Ssam char Error[128]; 29