X-Git-Url: https://git.harvie.cz/?p=svn%2FPrometheus-QoS%2F.git;a=blobdiff_plain;f=cll1.h;h=cd6e685144ebe772a2954ba2d9a28b0b6c8ded11;hp=ae99edc0c51b1cc65209d1e71f41ff03c6688a33;hb=0c419f83421cc11c38f9440eac87d648c49ee675;hpb=48371e750b9bd927cbe1c35d834a81573df1098a diff --git a/cll1.h b/cll1.h index ae99edc..cd6e685 100644 --- a/cll1.h +++ b/cll1.h @@ -27,6 +27,7 @@ #include #include #include +#include /* Section For Dummies part 1, updated 2004-05-07 by xCh. */ @@ -76,7 +77,7 @@ #define duplicate(A,B) if(A) { string(B,strlen(A)+1); strcpy(B,A); } #define concatenate(A,B,C) if (A && B) { string(C,strlen(A)+strlen(B)+1); strcpy(C,A); strcat(C,B); } #define suffix(A,B,C) (((A=strrchr(B,C))&&!(*(A++)=0))||(A=B)) -#define prefix(A,B,C) ((A=B)&&((B=strchr(B,C))&&!(*(B++)=0)||(B=A))) +#define prefix(A,B,C) ((A=B)&&(((B=strchr(B,C))&&!(*(B++)=0))||(B=A))) #define gotoalpha(CHAR) if(CHAR)while(*CHAR && !isalpha(*CHAR))CHAR++ #define goto_alpha(CHAR) if(CHAR)while(*CHAR && !isalpha(*CHAR) && *CHAR!='_')CHAR++ #define gotoalnum(CHAR) if(CHAR)while(*CHAR && !isalnum(*CHAR))CHAR++ @@ -114,6 +115,7 @@ #define option(STR,SETVAR) if(_){char *_K,*_V,*_O,*_Q; duplicate(_,_Q); _O=_Q; tr(_O,'\t',' '); prefix(_K,_O,' '); if(eq(STR,_K)) {skipspaces(_O); prefix(_V,_O,'#'); cutspaces(_V); SETVAR=_V; _=NULL;} else free(_Q);} #define ioption(STR,SETVAR) if(_){char *_K,*_V,*_O,*_Q; duplicate(_,_Q); _O=_Q; tr(_O,'\t',' '); prefix(_K,_O,' '); if(eq(STR,_K)) {skipspaces(_O); prefix(_V,_O,'#'); cutspaces(_V); SETVAR=atoi(_V); _=NULL;} free(_Q);} #define loption(STR,SETVAR) if(_){char *_K,*_V,*_O,*_Q; duplicate(_,_Q); _O=_Q; tr(_O,'\t',' '); prefix(_K,_O,' '); if(eq(STR,_K)) {skipspaces(_O); prefix(_V,_O,'#'); cutspaces(_V); SETVAR=atol(_V); _=NULL;} free(_Q);} +#define lloption(STR,SETVAR) if(_){char *_K,*_V,*_O,*_Q; duplicate(_,_Q); _O=_Q; tr(_O,'\t',' '); prefix(_K,_O,' '); if(eq(STR,_K)) {skipspaces(_O); prefix(_V,_O,'#'); cutspaces(_V); SETVAR=atoll(_V); _=NULL;} free(_Q);} /* Dynamic list advanced I/O, updated 2003-05-30 by xCh. */