diff options
| author | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2008-12-17 16:53:07 +0100 | 
|---|---|---|
| committer | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2008-12-17 16:53:07 +0100 | 
| commit | cb5473205206c7f14cbb1e747f28ec75b48826e2 (patch) | |
| tree | 8f4808d60917100b18a10b05230f7638a0a9bbcc /common/cmd_net.c | |
| parent | baf449fc5ff96f071bb0e3789fd3265f6d4fd9a0 (diff) | |
| parent | 92c78a3bbcb2ce508b4bf1c4a1e0940406a024bb (diff) | |
| download | olio-uboot-2014.01-cb5473205206c7f14cbb1e747f28ec75b48826e2.tar.xz olio-uboot-2014.01-cb5473205206c7f14cbb1e747f28ec75b48826e2.zip | |
Merge branch 'fixes' into cleanups
Conflicts:
	board/atmel/atngw100/atngw100.c
	board/atmel/atstk1000/atstk1000.c
	cpu/at32ap/at32ap700x/gpio.c
	include/asm-avr32/arch-at32ap700x/clk.h
	include/configs/atngw100.h
	include/configs/atstk1002.h
	include/configs/atstk1003.h
	include/configs/atstk1004.h
	include/configs/atstk1006.h
	include/configs/favr-32-ezkit.h
	include/configs/hammerhead.h
	include/configs/mimc200.h
Diffstat (limited to 'common/cmd_net.c')
| -rw-r--r-- | common/cmd_net.c | 20 | 
1 files changed, 12 insertions, 8 deletions
| diff --git a/common/cmd_net.c b/common/cmd_net.c index af691a474..c053d7b97 100644 --- a/common/cmd_net.c +++ b/common/cmd_net.c @@ -154,8 +154,10 @@ static int  netboot_common (proto_t proto, cmd_tbl_t *cmdtp, int argc, char *argv[])  {  	char *s; +	char *end;  	int   rcode = 0;  	int   size; +	ulong addr;  	/* pre-set load_addr */  	if ((s = getenv("loadaddr")) != NULL) { @@ -166,15 +168,17 @@ netboot_common (proto_t proto, cmd_tbl_t *cmdtp, int argc, char *argv[])  	case 1:  		break; -	case 2:	/* only one arg - accept two forms: -		 * just load address, or just boot file name. -		 * The latter form must be written "filename" here. +	case 2:	/* +		 * Only one arg - accept two forms: +		 * Just load address, or just boot file name. The latter +		 * form must be written in a format which can not be +		 * mis-interpreted as a valid number.  		 */ -		if (argv[1][0] == '"') {	/* just boot filename */ -			copy_filename (BootFile, argv[1], sizeof(BootFile)); -		} else {			/* load address	*/ -			load_addr = simple_strtoul(argv[1], NULL, 16); -		} +		addr = simple_strtoul(argv[1], &end, 16); +		if (end == (argv[1] + strlen(argv[1]))) +			load_addr = addr; +		else +			copy_filename(BootFile, argv[1], sizeof(BootFile));  		break;  	case 3:	load_addr = simple_strtoul(argv[1], NULL, 16); |