Ejemplo n.º 1
0
int main(int argc, char** argv)
{
	CHAR line[MAX_LINE_SIZE];
	BOOL ret;

	while (1) {
		command_t *root = NULL;

		printf("> ");
		fflush(stdout);

		ZeroMemory(line, MAX_LINE_SIZE);

		if (fgets(line, sizeof(line), stdin) == NULL) {
			   exit(EXIT_SUCCESS);
		}

		ret = parse_line(line, &root);
		if (!ret || !root) continue;
		run_command(root, TRUE);
		free_parse_memory();
	}
	
	return 0;
}
Ejemplo n.º 2
0
static void start_shell(void)
{
	char *line;
	command_t *root;

	int ret;

	for (;;) {
		printf(PROMPT);
		fflush(stdout);
		ret = 0;

		root = NULL;
		line = read_line();
		if (line == NULL)
			return;
		parse_line(line, &root);

		if (root != NULL)
			ret = parse_command(root, 0, NULL);

		free_parse_memory();
		free(line);

		if (ret == SHELL_EXIT)
			break;
	}
}