* Re: [PATCH] tftp return value
2010-04-14 8:06 [PATCH] tftp return value Jan Weitzel
@ 2010-04-17 19:14 ` Uwe Kleine-König
0 siblings, 0 replies; 2+ messages in thread
From: Uwe Kleine-König @ 2010-04-17 19:14 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
Hello Jan,
On Wed, Apr 14, 2010 at 10:06:06AM +0200, Jan Weitzel wrote:
> tftp returns transfered bytes on success and 1 in error case. Bad for
> scripting. Change to 0 on success
>
> Signed-off-by: Jan Weitzel <J.Weitzel@phytec.de>
> ---
> Index: barebox-2010.04.0/net/tftp.c
> ===================================================================
> --- barebox-2010.04.0.orig/net/tftp.c 2010-04-14 09:41:37.489858785
> +0200
> +++ barebox-2010.04.0/net/tftp.c 2010-04-14 09:43:33.899445811 +0200
> @@ -281,8 +281,7 @@
>
> TftpStart(remotefile);
>
> - rcode = NetLoop();
> - if (rcode < 0) {
> + if (NetLoop() < 0) {
> rcode = 1;
> goto out;
> }
Some time ago I created a patch that had the same effect. (I changed
the return code of NetLoop() instead of its interpretation, but that
shouldn't matter much---I didn't (re)verify it though.)
But I had an additional hunk to let tftp return 1 if initializing the network failed.
Below is my complete patch.
Best regards
Uwe
---------------------->8-----------------------
From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date: Fri, 26 Mar 2010 12:55:37 +0100
Subject: net/tftp: let tftp return 0 on success and 1 on failure
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
net/net.c | 2 +-
net/tftp.c | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/net/net.c b/net/net.c
index 4554d49..e73ee31 100644
--- a/net/net.c
+++ b/net/net.c
@@ -316,7 +316,7 @@ int NetLoop(void)
setenv("filesize", buf);
}
eth_halt();
- return NetBootFileXferSize;
+ return 0;
case NETLOOP_FAIL:
eth_halt();
diff --git a/net/tftp.c b/net/tftp.c
index 26f0c43..bcb3793 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -276,8 +276,10 @@ static int do_tftpb(struct command *cmdtp, int argc, char *argv[])
return 1;
}
- if (NetLoopInit(TFTP) < 0)
+ if (NetLoopInit(TFTP) < 0) {
+ rcode = 1;
goto out;
+ }
TftpStart(remotefile);
--
1.7.0
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread