X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=crl1.h;h=ab50c0db6fcea77b4ab47d1086737993619b4c6b;hb=HEAD;hp=871ae969eb48196ba59650b6b4efe196f0ddabb9;hpb=241ad5f6ed3b16b03dd7d794ff7c376a04d767cb;p=svn%2FCll1h%2F.git diff --git a/crl1.h b/crl1.h index 871ae96..ab50c0d 100644 --- a/crl1.h +++ b/crl1.h @@ -2,7 +2,7 @@ / C<<1 header file - C language style sheet - GNU C/ANSI C99 compliant '----------------------------------------------------------------------- */ /* - Copyright (c) 2004-2011 Michael xChaos Polak - x(at)n.cz + Copyright (c) 2004-2012 Michael xChaos Polak - x(at)n.cz The C<<1 header file is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -66,7 +66,7 @@ typedef unsigned char * buf; /* this will be always 8-bit usigned char * */ typedef FILE * file; typedef int bool; typedef char * str; -#ifdef USE_MYSQL +#ifdef USE_MYSQL typedef MYSQL_ROW row; #endif extern str NIL, EOL, OFS, IFS, LANG, errstr; /* used for: perror(errstr) */ @@ -154,6 +154,7 @@ unsigned RANDOM_SEED=0; #define repeat(N) for(int _i=0,_j=(N); _i++<_j;) #define for_each(ONE_T,ONE,ALL_T,...) for(_init_##ONE_T##_##ALL_T(_head_##ONE_T##_##ALL_T(ONE,__VA_ARGS__));_test_##ONE_T##_##ALL_T(ONE,__VA_ARGS__) || _free_##ONE_T##_##ALL_T(ONE,__VA_ARGS__);_next_##ONE_T##_##ALL_T(ONE,__VA_ARGS__)) #define count(ONE_T,ALL_T,...) _count_##ONE_T##_##ALL_T(__VA_ARGS__) +#define manufacture(OUT_T,OUT,ONE_T,ONE,ALL_T,...) if(_start_##ONE_T##OUT_T##_(OUT,count(ONE_T,ALL_T,__VA_ARGS__))) for_each(ONE_T,ONE,ALL_T,__VA_ARGS__) if(_append_##ONE_T##OUT_T##_(ONE)) #define _init_char_str(...) str _s=(__VA_ARGS__) #define _head_char_str(ONE,ALL) ONE=(ALL?*ALL:0),ALL #define _test_char_str(ONE,...) ONE @@ -165,7 +166,7 @@ unsigned RANDOM_SEED=0; #define _test_str_str(ONE,...) *ONE #define _free_str_str(...) FALSE #define _next_str_str(ONE,...) ONE=_utf8_copy(ONE,(_s+=strlen(ONE))) -#define _COUNT_STR_STR int _count_str_str(str S) { int l=0; str X=""; for_each2(str,X,str,S){l++;} return l; } +#define _COUNT_STR_STR int _count_str_str(str S) { int l=0; str X=""; for_each(str,X,str,S){l++;} return l; } #define _init_void_array(...) int _i=(__VA_ARGS__) #define _head_void_array(ONE,ALL,LEN) ONE=*ALL,0 #define _test_void_array(ONE,ALL,LEN) _i < LEN