#include "str.h" #include "stralloc.h" #include "textcode.h" unsigned long scan_to_sa(unsigned long (*func)(const char*,char*,unsigned long*), const char* src,stralloc* sa) { unsigned long scanned; unsigned long r; if (!stralloc_readyplus(sa,str_len(src))) return 0; if ((r=func(src,sa->s+sa->len,&scanned))) sa->len+=r; return r; }