tftpd: another small tweak

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2009-11-08 18:27:18 +01:00
parent 1e9ac9f685
commit 6528abeb6a

View File

@ -743,7 +743,7 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv)
const char *error_msg; const char *error_msg;
int opt, result, opcode; int opt, result, opcode;
IF_FEATURE_TFTP_BLOCKSIZE(int blksize = TFTP_BLKSIZE_DEFAULT;) 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(); INIT_G();
@ -791,6 +791,7 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv)
goto err; goto err;
} }
# if ENABLE_FEATURE_TFTP_BLOCKSIZE # if ENABLE_FEATURE_TFTP_BLOCKSIZE
want_transfer_size = 0;
{ {
char *res; char *res;
char *opt_str = mode + sizeof("octet"); char *opt_str = mode + sizeof("octet");
@ -805,8 +806,10 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv)
goto do_proto; goto do_proto;
} }
} }
if (opcode != TFTP_WRQ /* download? */
/* did client ask us about file size? */ /* 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; want_transfer_size = 1;
} }
} }
@ -821,7 +824,6 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv)
goto err; goto err;
} }
IF_GETPUT(option_mask32 |= TFTP_OPT_GET;) /* will receive file's data */ 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 { } else {
IF_GETPUT(option_mask32 |= TFTP_OPT_PUT;) /* will send file's data */ IF_GETPUT(option_mask32 |= TFTP_OPT_PUT;) /* will send file's data */
} }