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;
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 */
}