view simtool/script.c @ 149:451ed3bbfe96

fc-simtool: grcard1-set-adm[12] commands implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 07 Feb 2021 00:01:55 +0000
parents b391204d3cd5
children
line wrap: on
line source

/*
 * This module implements the exec command, which is our scripting facility.
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>

cmd_exec(argc, argv)
	char **argv;
{
	FILE *f;
	char linebuf[512], *cp;
	int lineno, retval = 0;

	f = fopen(argv[1], "r");
	if (!f) {
		perror(argv[1]);
		return(-1);
	}
	for (lineno = 1; fgets(linebuf, sizeof linebuf, f); lineno++) {
		cp = index(linebuf, '\n');
		if (!cp) {
			fprintf(stderr, "%s line %d: missing newline\n",
				argv[1], lineno);
			fclose(f);
			return(-1);
		}
		*cp = '\0';
		retval = simtool_dispatch_cmd(linebuf, 1);
		if (retval)
			break;
	}
	fclose(f);
	return(retval);
}