Initial revision

This commit is contained in:
cvs
2000-02-07 10:38:55 +00:00
commit fdc6b051c9
846 changed files with 230218 additions and 0 deletions

72
splitter.h Normal file
View File

@ -0,0 +1,72 @@
/*-------------------------------------------------------------------------
Splitter. A module to break a line of text input into single
words. Thereby determining type of input and convert if
necessary. The result will be stored in a doubly linked
list.
Mark Koennecke October 1996
--------------------------------------------------------------------------*/
#ifndef MKSPLITTER
#define MKSPLITTER
typedef enum {eText, eInt, eFloat, eUndefined } eType;
typedef struct _TokenEntry {
eType Type;
char *text;
long iVal;
float fVal;
struct _TokenEntry *pNext;
struct _TokenEntry *pPrevious;
} TokenList;
/* --------------------- exported functions ------------------------------*/
TokenList *SplitText(char *pLine);
/*!
Splits a line of text into a list of tokens as defined above.
Any item in the line which is separated from others by spaces
is considered a token. The type of the token will be determined
as well. Possible types recognized are: int, float and text.
!*/
TokenList *SplitArguments(int argc, char *argv[]);
/*!
Very much like SplitText, but uses an argc, argv[] pair as input.
!*/
void DeleteTokenList(TokenList *pList);
/*!
Deletes a TokenList as returned by SplitText or
SplitArguments. Nver forget to call this once you are done
with the token list.
!*/
int Text2Arg(char *pLine, int *argc, char **argv[]);
/*!
Text2Arg converts a line of text given in pLine to an
argc, argv[] pair. Note that the caller is responsible
for freeing the memory occupied by argv[]. This implies,
that Text2Arg allocates the necessary space for the argv[]
array.
!*/
int Arg2Text(int argc, char *argv[], char *buf, int iBuflen);
/*!
Arg2Text converts an argc, argv[] pair into a line of
text. The result will be stored in buf, allocated by the
caller. The parameter iBufLen specifies the length of buf,
in order to prevent memory overwrite. Returns 1 on success,
0 on failure.
!*/
int GetShellLine(FILE *fd, char *Buffer, int iBufLen);
/*!
GetShellLine reads the next line from the file fd, which does
not start with the comment character "#". Returns 1 for success,
or EOF when the end of file has been reached.
!*/
#endif