nejaka rozdelana prace
[svn/Cll1h/.git] / crl1.h
diff --git a/crl1.h b/crl1.h
index 871ae969eb48196ba59650b6b4efe196f0ddabb9..ab50c0db6fcea77b4ab47d1086737993619b4c6b 100644 (file)
--- 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
This page took 0.098988 seconds and 4 git commands to generate.