1 #ifndef STRALLOC_H 2 #define STRALLOC_H 3 4 #include "gen_alloc.h" 5 6 GEN_ALLOC_typedef(stralloc,char,s,len,a) 7 8 extern int stralloc_ready(); 9 extern int stralloc_readyplus(); 10 extern int stralloc_copy(); 11 extern int stralloc_cat(); 12 extern int stralloc_copys(); 13 extern int stralloc_cats(); 14 extern int stralloc_copyb(); 15 extern int stralloc_catb(); 16 extern int stralloc_append(); /* beware: this takes a pointer to 1 char */ 17 extern int stralloc_starts(); 18 19 #define stralloc_0(sa) stralloc_append(sa,"") 20 21 extern int stralloc_catulong0(); 22 extern int stralloc_catlong0(); 23 24 #define stralloc_catlong(sa,l) (stralloc_catlong0((sa),(l),0)) 25 #define stralloc_catuint0(sa,i,n) (stralloc_catulong0((sa),(unsigned long) (i),(n))) 26 #define stralloc_catint0(sa,i,n) (stralloc_catlong0((sa),(long) (i),(n))) 27 #define stralloc_catint(sa,i) (stralloc_catlong0((sa),(long) (i),0)) 28 29 #endif 30