/*----------------------------------------------------------------------*\ | NAME : tlex | | CREATED : 29-July-83 LAST MODIFIED: 9-August-83 | | FUNCTION: Tlex retrieves a token from the source line. Tokens | | are identified by their delimiters only. Tokens are | | thus defined as all characters found until the | | delimiter is found. Leading white space is ignored. | | INPUT : line -- ptr to source line containing tokens | | delim -- ptr to string containing delimiter(s) | | token -- ptr to token buffer area loaded by tlex | | OUTPUT : token -- loaded with a token if found | | Returns ptr to the delimiter that was found. | | If no token found then returns ptr to a null. | \*----------------------------------------------------------------------*/ #include #include "utildef.h" BYTE *tlex( line,delim,token ) BYTE *line; /* ptr to null terminated source line */ BYTE *delim; /* ptr to delimiter(s) (null terminated)*/ BYTE *token; /* ptr to token buffer (output) */ { BYTE *del_ptr; /* index ptr. into delimiter string */ WORD found; /* flag set when finding a delimiter */ found = 0; while( *line == ' ' || *line == '\t' ) /* ignore white space */ line++; while( *line && !found ) { for( del_ptr=delim; *del_ptr; del_ptr++ ) { if( *line == *del_ptr ) { found = 1; break; } } if( !found ) *token++ = *line++; } *token = NULL; /* delimit token string */ return( line ); /* return null if eoln or not found */ }