author | Markus Bröker <mbroeker@largo.dyndns.tv> |
Thu, 16 Apr 2009 12:49:11 +0200 | |
changeset 39 | 46d7ec9d63bd |
parent 29 | 7abf6146898e |
child 77 | 49e0babccb23 |
permissions | -rw-r--r-- |
/** * test/demos/lsflib/src/tokenizer.c * Copyright (C) 2008 Markus Broeker */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <ctype.h> #include <string.h> #include <lsf.h> Node *tokenizer (FILE * f, const char *delim) { /* * the main routine of the tokenizer * */ Node *aktuell, *begin; char line[LINE_LENGTH]; char *token; int tokens; *line = tokens = 0; aktuell = begin = addnode (NULL, "NULL"); while ((fgets (line, LINE_LENGTH, f)) != NULL) { token = strtok (line, delim); while (token) { aktuell = addnode (aktuell, token); token = strtok (NULL, delim); } *line = 0; } rewind (f); aktuell = begin->next; free (begin->data); free (begin); return aktuell; }