summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2011-04-11 04:29:39 +0200
committerDenys Vlasenko2011-04-11 04:29:39 +0200
commit24ec952f1403759af280661b83471b28f1158553 (patch)
tree32db92eb148a4888e6b4557c2b3b08a05a71dc88
parentc13ee8c0f32fa816e12f1ac0c55a800066dc1560 (diff)
downloadbusybox-24ec952f1403759af280661b83471b28f1158553.zip
busybox-24ec952f1403759af280661b83471b28f1158553.tar.gz
tftp: fix progress bar for large (>32M) files. Closes 3499
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/tftp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/networking/tftp.c b/networking/tftp.c
index f52e49d..e50d925 100644
--- a/networking/tftp.c
+++ b/networking/tftp.c
@@ -455,6 +455,7 @@ static int tftp_protocol(
finished = 1;
}
cp += len;
+ IF_FEATURE_TFTP_PROGRESS_BAR(G.pos += len;)
}
send_pkt:
/* Send packet */
@@ -476,8 +477,6 @@ static int tftp_protocol(
xsendto(socket_fd, xbuf, send_len, &peer_lsa->u.sa, peer_lsa->len);
#if ENABLE_FEATURE_TFTP_PROGRESS_BAR
- if (ENABLE_TFTP && remote_file) /* tftp */
- G.pos = (block_nr - 1) * (uoff_t)blksize;
if (is_bb_progress_inited(&G.pmt))
tftp_progress_update();
#endif
@@ -621,6 +620,7 @@ static int tftp_protocol(
if (sz != blksize) {
finished = 1;
}
+ IF_FEATURE_TFTP_PROGRESS_BAR(G.pos += sz;)
continue; /* send ACK */
}
/* Disabled to cope with servers with Sorcerer's Apprentice Syndrome */