FreeCalypso > hg > freecalypso-tools
view target-utils/libcommon/parseargs.c @ 479:f2a040324509
Makefile hierarchy: CFLAGS override-ability actually works now
The original version was broken in that CFLAGS=${CFLAGS} passing was
done without quotes, which breaks as soon as there is a space in the
user-set CFLAGS. Changing it to CFLAGS="${CFLAGS}" makes it work
as originally intended.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 14 Feb 2019 04:59:23 +0000 |
parents | e7502631a0f9 |
children |
line wrap: on
line source
/* * This module contains the parse_args() function, which parses the "rest" * part of an entered command into an argc/argv-style argument array. */ parse_args(unparsed, minargs, maxargs, argv, argcp) char *unparsed; int minargs, maxargs; char **argv; int *argcp; { int argc; char *cp; argc = 0; for (cp = unparsed; ; ) { while (*cp == ' ') cp++; if (!*cp) break; if (argc >= maxargs) { printf("ERROR: too many arguments\n"); return(-1); } argv[argc++] = cp; while (*cp && *cp != ' ') cp++; if (*cp) *cp++ = '\0'; } if (argc < minargs) { printf("ERROR: too few arguments\n"); return(-1); } argv[argc] = 0; if (argcp) *argcp = argc; return(0); }