X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=cll1.h;h=4dc23e16256b87fee09e2e2df7affd85ff917463;hb=21720b7b452dd15e967b7cc860c620f2175d0d2b;hp=5305e3c125674c0085f2ec45b6235f1c7fc4ad07;hpb=420bb7716ee099d369582836ef4fc8ab25d81fde;p=svn%2FCll1h%2F.git diff --git a/cll1.h b/cll1.h index 5305e3c..4dc23e1 100644 --- a/cll1.h +++ b/cll1.h @@ -46,6 +46,8 @@ #define or || #define TRUE 1 #define FALSE 0 +#define MAYBE (int)((_srtime?0:(time(&_srtime),srandom(_srtime))),random()%2) +#define WHOKNOWS (int)(srandom(time(NULL)),random()%2) #define bool_str(I) (I?"TRUE":"FALSE") #define boolean int #define mem struct @@ -101,9 +103,9 @@ /* ------------------------------------------------------------------- */ /* 6. C<<1 va_list based library functions, updated 2008-01-22 by xCh. */ /* ------------------------------------------------------------------- */ -#define _ECHO void _echo(char *s, ... ) { va_list ap; for(va_start(ap,s);s;s=va_arg(ap,char *)) fputs(s,stdout); va_end(ap); } -#define print(...) _echo(__VA_ARGS__,"\n",NULL) -#define echo(...) _echo(__VA_ARGS__,NULL) +#define _ECHO void _cll1_print(int p,char *s, ... ) { int p2=0; va_list ap; for(va_start(ap,s);s!=(void *)&_cll1_print;s=va_arg(ap,char *)) { if(p) {if(p2) putchar(' '); else p2=1;} fputs(s?s:"",stdout); } va_end(ap); if(p) putchar('\n');} +#define print(...) _cll1_print(1,__VA_ARGS__,(void *)&_cll1_print) +#define echo(...) _cll1_print(0,__VA_ARGS__,(void *)&_cll1_print) /* ------------------------------------------------------------------- */ /* 8. C<<1 CGI and FASTCGI handling, updated 2008-01-16 by xCh. */ /* ------------------------------------------------------------------- */ @@ -188,7 +190,7 @@ obsolete #define _ISTACK struct _IStack { int I; int _23; list(_IStack); } *_Iatom,*_Istack=NULL; #define _SSTACK struct _SStack { char *S; int _23; list(_SSTACK); } *_Satom,*_Sstack=NULL; #define _FSTACK struct _FStack { FILE *F; int _23; list(_FSTACK); } *_Fatom,*_Fstack=NULL; - +#define _SRTIME time_t _srtime=0; #define _NEW_(ATOM,STACK,TYPE) (create(ATOM,TYPE),ATOM->_23=1,push(ATOM,STACK);ATOM->_23||pop(ATOM,STACK)&&0;ATOM->_23--) #define _NEW_I for _NEW_(_Iatom,_Istack,_IStack) @@ -260,9 +262,10 @@ obsolete /* ------------------------------------------------------------------- */ /* Voila - here we go ! */ /* ------------------------------------------------------------------- */ -#define define_cll1_globals _ISTACK _SSTACK _FSTACK _MSTACK _RSTACK //_QSTACK -#define implement_cll1_functions _ECHO /* _GET_STR _GET_MEM */ -#define implement_cll1_library define_cll1_globals implement_cll1_functions +#define define_cll1_globals _SRTIME _ISTACK _SSTACK _FSTACK _MSTACK _RSTACK //_QSTACK +#define implement_cll1_functions _ECHO // _GET_STR _GET_MEM +#define define_cll1_interfaces //_CAKE +#define implement_cll1_library define_cll1_globals implement_cll1_functions define_cll1_interfaces #define program implement_cll1_library int main(int argc, char **argv) /* ------------------------------------------------------------------- */ #endif