24 #define LFS_INITIAL_SIZE 100
28 if (NULL == lfs || NULL == lfs->
line || NULL == lfs->
field)
47 assert(NULL != comment);
51 lfs =
calloc(1,
sizeof(*lfs));
65 char* s = strpbrk(lfs->
line, comment);
72 for(s = lfs->
line; *s !=
'\0'; s++)
93 while(*s !=
'\0' && !isspace(*s))
123 assert(fno < lfs->used);
132 return lfs->
field[fno];
140 for(
int i = 0; i < lfs->
used; i++)
141 fprintf(fp,
"Field %3d: \"%s\"\n", i, lfs->
field[i]);
static bool is_valid(const LFS *lfs)
Split line into fields Header.
const char * lfs_get_field(const LFS *lfs, int fno)
void lfs_print(const LFS *lfs, FILE *fp)
int lfs_used_fields(const LFS *lfs)
LFS * lfs_split_line(LFS *lfs, const char *line, const char *comment)