From 6528abeb6af88f40924c85e8cf05dad1d3ab88a5 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 8 Nov 2009 18:27:18 +0100 Subject: tftpd: another small tweak Signed-off-by: Denys Vlasenko --- networking/tftp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'networking/tftp.c') diff --git a/networking/tftp.c b/networking/tftp.c index eddb1486b..ef4198be8 100644 --- a/networking/tftp.c +++ b/networking/tftp.c @@ -743,7 +743,7 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) const char *error_msg; int opt, result, opcode; IF_FEATURE_TFTP_BLOCKSIZE(int blksize = TFTP_BLKSIZE_DEFAULT;) - IF_FEATURE_TFTP_BLOCKSIZE(int want_transfer_size = 0;) + IF_FEATURE_TFTP_BLOCKSIZE(int want_transfer_size;) INIT_G(); @@ -791,6 +791,7 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) goto err; } # if ENABLE_FEATURE_TFTP_BLOCKSIZE + want_transfer_size = 0; { char *res; char *opt_str = mode + sizeof("octet"); @@ -805,8 +806,10 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) goto do_proto; } } + if (opcode != TFTP_WRQ /* download? */ /* did client ask us about file size? */ - if (tftp_get_option("tsize", opt_str, opt_len)) { + && tftp_get_option("tsize", opt_str, opt_len) + ) { want_transfer_size = 1; } } @@ -821,7 +824,6 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) goto err; } IF_GETPUT(option_mask32 |= TFTP_OPT_GET;) /* will receive file's data */ - want_transfer_size = 0; /* do not send file size, it's meaningless */ } else { IF_GETPUT(option_mask32 |= TFTP_OPT_PUT;) /* will send file's data */ } -- cgit v1.2.3