diff options
| author | Peter Tyser <ptyser@xes-inc.com> | 2009-10-16 17:36:25 -0500 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2009-11-23 00:06:11 +0100 | 
| commit | 6b8f5ad10f567362a3682840f59ba0fc470af319 (patch) | |
| tree | 1611fa66c7f3947b4f20cf4287dc9b36a368e001 /common/command.c | |
| parent | db6ab438d6e112b65b210f3ab00848e664c8f762 (diff) | |
| download | olio-uboot-2014.01-6b8f5ad10f567362a3682840f59ba0fc470af319.tar.xz olio-uboot-2014.01-6b8f5ad10f567362a3682840f59ba0fc470af319.zip | |
command.c: Break commands out to appropriate cmd_*.c files
command.c should contain common code related to commands, not
miscellaneous command implementations.
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Diffstat (limited to 'common/command.c')
| -rw-r--r-- | common/command.c | 233 | 
1 files changed, 0 insertions, 233 deletions
| diff --git a/common/command.c b/common/command.c index b57f8dfc8..0c66b7a1d 100644 --- a/common/command.c +++ b/common/command.c @@ -28,206 +28,6 @@  #include <common.h>  #include <command.h> -int -do_version (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) -{ -	extern char version_string[]; -	printf ("\n%s\n", version_string); -	return 0; -} - -U_BOOT_CMD( -	version,	1,		1,	do_version, -	"print monitor version", -	"" -); - -#if defined(CONFIG_CMD_ECHO) - -int -do_echo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) -{ -	int i, putnl = 1; - -	for (i = 1; i < argc; i++) { -		char *p = argv[i], c; - -		if (i > 1) -			putc(' '); -		while ((c = *p++) != '\0') { -			if (c == '\\' && *p == 'c') { -				putnl = 0; -				p++; -			} else { -				putc(c); -			} -		} -	} - -	if (putnl) -		putc('\n'); -	return 0; -} - -U_BOOT_CMD( -	echo,	CONFIG_SYS_MAXARGS,	1,	do_echo, -	"echo args to console", -	"[args..]\n" -	"    - echo args to console; \\c suppresses newline" -); - -#endif - -#ifdef CONFIG_SYS_HUSH_PARSER - -int -do_test (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) -{ -	char **ap; -	int left, adv, expr, last_expr, neg, last_cmp; - -	/* args? */ -	if (argc < 3) -		return 1; - -#if 0 -	{ -		printf("test:"); -		left = 1; -		while (argv[left]) -			printf(" %s", argv[left++]); -	} -#endif - -	last_expr = 0; -	left = argc - 1; ap = argv + 1; -	if (left > 0 && strcmp(ap[0], "!") == 0) { -		neg = 1; -		ap++; -		left--; -	} else -		neg = 0; - -	expr = -1; -	last_cmp = -1; -	last_expr = -1; -	while (left > 0) { - -		if (strcmp(ap[0], "-o") == 0 || strcmp(ap[0], "-a") == 0) -			adv = 1; -		else if (strcmp(ap[0], "-z") == 0 || strcmp(ap[0], "-n") == 0) -			adv = 2; -		else -			adv = 3; - -		if (left < adv) { -			expr = 1; -			break; -		} - -		if (adv == 1) { -			if (strcmp(ap[0], "-o") == 0) { -				last_expr = expr; -				last_cmp = 0; -			} else if (strcmp(ap[0], "-a") == 0) { -				last_expr = expr; -				last_cmp = 1; -			} else { -				expr = 1; -				break; -			} -		} - -		if (adv == 2) { -			if (strcmp(ap[0], "-z") == 0) -				expr = strlen(ap[1]) == 0 ? 1 : 0; -			else if (strcmp(ap[0], "-n") == 0) -				expr = strlen(ap[1]) == 0 ? 0 : 1; -			else { -				expr = 1; -				break; -			} - -			if (last_cmp == 0) -				expr = last_expr || expr; -			else if (last_cmp == 1) -				expr = last_expr && expr; -			last_cmp = -1; -		} - -		if (adv == 3) { -			if (strcmp(ap[1], "=") == 0) -				expr = strcmp(ap[0], ap[2]) == 0; -			else if (strcmp(ap[1], "!=") == 0) -				expr = strcmp(ap[0], ap[2]) != 0; -			else if (strcmp(ap[1], ">") == 0) -				expr = strcmp(ap[0], ap[2]) > 0; -			else if (strcmp(ap[1], "<") == 0) -				expr = strcmp(ap[0], ap[2]) < 0; -			else if (strcmp(ap[1], "-eq") == 0) -				expr = simple_strtol(ap[0], NULL, 10) == simple_strtol(ap[2], NULL, 10); -			else if (strcmp(ap[1], "-ne") == 0) -				expr = simple_strtol(ap[0], NULL, 10) != simple_strtol(ap[2], NULL, 10); -			else if (strcmp(ap[1], "-lt") == 0) -				expr = simple_strtol(ap[0], NULL, 10) < simple_strtol(ap[2], NULL, 10); -			else if (strcmp(ap[1], "-le") == 0) -				expr = simple_strtol(ap[0], NULL, 10) <= simple_strtol(ap[2], NULL, 10); -			else if (strcmp(ap[1], "-gt") == 0) -				expr = simple_strtol(ap[0], NULL, 10) > simple_strtol(ap[2], NULL, 10); -			else if (strcmp(ap[1], "-ge") == 0) -				expr = simple_strtol(ap[0], NULL, 10) >= simple_strtol(ap[2], NULL, 10); -			else { -				expr = 1; -				break; -			} - -			if (last_cmp == 0) -				expr = last_expr || expr; -			else if (last_cmp == 1) -				expr = last_expr && expr; -			last_cmp = -1; -		} - -		ap += adv; left -= adv; -	} - -	if (neg) -		expr = !expr; - -	expr = !expr; - -	debug (": returns %d\n", expr); - -	return expr; -} - -U_BOOT_CMD( -	test,	CONFIG_SYS_MAXARGS,	1,	do_test, -	"minimal test like /bin/sh", -	"[args..]" -); - -int -do_exit (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) -{ -	int r; - -	r = 0; -	if (argc > 1) -		r = simple_strtoul(argv[1], NULL, 10); - -	return -r - 2; -} - -U_BOOT_CMD( -	exit,	2,	1,	do_exit, -	"exit script", -	"" -); - - -#endif -  /*   * Use puts() instead of printf() to avoid printf buffer overflow   * for long help messages @@ -297,39 +97,6 @@ int _do_help (cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t * cmdtp, int  	return rcode;  } -int do_help (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) -{ -	return _do_help(&__u_boot_cmd_start, -			&__u_boot_cmd_end - &__u_boot_cmd_start, -			cmdtp, flag, argc, argv); -} - - -U_BOOT_CMD( -	help,	CONFIG_SYS_MAXARGS,	1,	do_help, -	"print online help", -	"[command ...]\n" -	"    - show help information (for 'command')\n" -	"'help' prints online help for the monitor commands.\n\n" -	"Without arguments, it prints a short usage message for all commands.\n\n" -	"To get detailed help information for specific commands you can type\n" -	"'help' with one or more command names as arguments." -); - -/* This does not use the U_BOOT_CMD macro as ? can't be used in symbol names */ -#ifdef  CONFIG_SYS_LONGHELP -cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = { -	"?",	CONFIG_SYS_MAXARGS,	1,	do_help, -	"alias for 'help'", -	"" -}; -#else -cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = { -	"?",	CONFIG_SYS_MAXARGS,	1,	do_help, -	"alias for 'help'" -}; -#endif /* CONFIG_SYS_LONGHELP */ -  /***************************************************************************   * find command table entry for a command   */ |