34 for (start = *next ; isspace ((
int) *start) ; ++start)
43 for (end = start ; *end !=
'\0' && ! isspace ((
int) *end) ; ++end)
47 result =
xMalloc (length + 1,
char);
48 strncpy (result, start, length);
49 result [length] =
'\0';
62 for (end = *next ; *end !=
'\n' && *end !=
'\0' ; ++end)
67 result =
xMalloc (length + 1,
char);
68 strncpy (result, *next, length);
69 result [length] =
'\0';
73 else if (*end ==
'\r')
111 }
while (c != EOF && ! isspace (c));
133 if (c !=
'\n' && c !=
'\r')
159 while (isspace(*
line))
161 return (*
line ==
'#');
235 return current->
item;
241 return (
bool) (current->
item ==
NULL);
260 switch (current->
type)
void argDelete(Arguments *const current)
static char * nextFileArg(FILE *const fp)
Arguments * argNewFromLineFile(FILE *const fp)
void argForth(Arguments *const current)
static bool isCommentLine(char *line)
static char * nextFileString(const Arguments *const current, FILE *const fp)
static char * nextStringLine(const char **const next)
void argSetLineMode(Arguments *const current)
static char * nextFileLineSkippingComments(FILE *const fp)
bool argOff(const Arguments *const current)
void argSetWordMode(Arguments *const current)
char * argItem(const Arguments *const current)
static char * nextString(const Arguments *const current, const char **const next)
Arguments * argNewFromString(const char *const string)
Arguments * argNewFromFile(FILE *const fp)
Arguments * argNewFromArgv(char *const *const argv)
static char * nextFileLine(FILE *const fp)
static char * nextStringArg(const char **const next)
void eFree(void *const ptr)
struct sArgs::@2::sStringArgs stringArgs
struct sArgs::@2::sArgvArgs argvArgs
struct sArgs::@2::sFileArgs fileArgs
void vStringStripTrailing(vString *const string)
vString * vStringNew(void)
void vStringDelete(vString *const string)
void vStringStripLeading(vString *const string)
#define vStringLength(vs)
static void vStringPut(vString *const string, const int c)