tftp: help compiler a bit

This commit is contained in:
Denis Vlasenko 2008-06-16 07:32:40 +00:00
parent 8474cd38f3
commit 31e1286365

View File

@ -258,6 +258,8 @@ static int tftp_protocol(
} }
if (!ENABLE_TFTP || our_lsa) { if (!ENABLE_TFTP || our_lsa) {
/* gcc 4.3.1 would NOT optimize it out as it should! */
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
if (blksize != TFTP_BLKSIZE_DEFAULT || tsize) { if (blksize != TFTP_BLKSIZE_DEFAULT || tsize) {
/* Create and send OACK packet. */ /* Create and send OACK packet. */
/* For the download case, block_nr is still 1 - /* For the download case, block_nr is still 1 -
@ -266,6 +268,7 @@ static int tftp_protocol(
opcode = TFTP_OACK; opcode = TFTP_OACK;
goto add_blksize_opt; goto add_blksize_opt;
} }
#endif
} else { } else {
/* Removing it, or using if() statement instead of #if may lead to /* Removing it, or using if() statement instead of #if may lead to
* "warning: null argument where non-null required": */ * "warning: null argument where non-null required": */
@ -301,6 +304,7 @@ static int tftp_protocol(
strcpy(cp, "octet"); strcpy(cp, "octet");
cp += sizeof("octet"); cp += sizeof("octet");
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
if (blksize == TFTP_BLKSIZE_DEFAULT) if (blksize == TFTP_BLKSIZE_DEFAULT)
goto send_pkt; goto send_pkt;
@ -309,9 +313,11 @@ static int tftp_protocol(
bb_error_msg("remote filename is too long"); bb_error_msg("remote filename is too long");
goto ret; goto ret;
} }
USE_FEATURE_TFTP_BLOCKSIZE(want_option_ack = 1;) want_option_ack = 1;
#endif
#endif /* ENABLE_TFTP */ #endif /* ENABLE_TFTP */
#if ENABLE_FEATURE_TFTP_BLOCKSIZE
add_blksize_opt: add_blksize_opt:
#if ENABLE_TFTPD #if ENABLE_TFTPD
if (tsize) { if (tsize) {
@ -329,6 +335,7 @@ static int tftp_protocol(
cp += sizeof("blksize"); cp += sizeof("blksize");
cp += snprintf(cp, 6, "%d", blksize) + 1; cp += snprintf(cp, 6, "%d", blksize) + 1;
} }
#endif
/* First packet is built, so skip packet generation */ /* First packet is built, so skip packet generation */
goto send_pkt; goto send_pkt;
} }