view target-utils/libcommon/parseargs.c @ 437:2cd705c8116e

loadtools: Mot C155 turns out to have the same flash partition quirks as the flash chip on TI's D-Sample c155.config changed to use the fixed 28f640w30b config instead of CFI, and a bit of C code in fc-loadtool had to be changed too so that flash erase-program-boot still works.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 06 Nov 2018 16:02: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);
}