#include #include "fields.h" #include "tokengen.h" typedef struct { IS is; int field; } TrueTokenGen; TokenGen *new_tokengen(char *fn) { TrueTokenGen *tg; tg = (TrueTokenGen *) malloc(sizeof(TrueTokenGen)); tg->is = new_inputstruct(fn); if (tg->is == NULL) return NULL; tg->field = -1; return (TokenGen *) tg; } char *tokengen_get_token(TokenGen *tg) { char *s; TrueTokenGen *ttg; ttg = (TrueTokenGen *) tg; while(ttg->field == -1 || ttg->field >= ttg->is->NF) { if (get_line(ttg->is) < 0) return NULL; if (ttg->is->text1[0] == '#') { ttg->field = -1; } else { ttg->field = 0; } } s = ttg->is->fields[ttg->field]; ttg->field++; return s; }