diff options
author | Michael Brown <mcb30@ipxe.org> | 2010-11-30 00:22:49 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2011-01-10 03:39:26 +0000 |
commit | 6cee8904d1d26cd3503018e9514b8671a9b0a860 (patch) | |
tree | c7aa6a5cc3b6ba870d6a54fe92ebe99ee4c046a7 /src/net/dhcppkt.c | |
parent | dc462e8b3b424fd0bf90c428da79f6fffe1a0d68 (diff) | |
download | ipxe-6cee8904d1d26cd3503018e9514b8671a9b0a860.tar.gz |
[dhcp] Remove redundant length fields in struct dhcp_packet
The max_len field is never used, and the len field is used only by
dhcp_tx(). Remove these two fields, and perform the necessary trivial
calculation in dhcp_tx() instead.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/dhcppkt.c')
-rw-r--r-- | src/net/dhcppkt.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/src/net/dhcppkt.c b/src/net/dhcppkt.c index b68f4e08d..e043bb5d4 100644 --- a/src/net/dhcppkt.c +++ b/src/net/dhcppkt.c @@ -147,7 +147,6 @@ int dhcppkt_store ( struct dhcp_packet *dhcppkt, unsigned int tag, const void *data, size_t len ) { struct dhcp_packet_field *field; void *field_data; - int rc; /* If this is a special field, fill it in */ if ( ( field = find_dhcp_packet_field ( tag ) ) != NULL ) { @@ -163,13 +162,7 @@ int dhcppkt_store ( struct dhcp_packet *dhcppkt, unsigned int tag, } /* Otherwise, use the generic options block */ - rc = dhcpopt_store ( &dhcppkt->options, tag, data, len ); - - /* Update our used-length field */ - dhcppkt->len = ( offsetof ( struct dhcphdr, options ) + - dhcppkt->options.len ); - - return rc; + return dhcpopt_store ( &dhcppkt->options, tag, data, len ); } /** @@ -273,11 +266,8 @@ void dhcppkt_init ( struct dhcp_packet *dhcppkt, struct dhcphdr *data, size_t len ) { ref_init ( &dhcppkt->refcnt, NULL ); dhcppkt->dhcphdr = data; - dhcppkt->max_len = len; dhcpopt_init ( &dhcppkt->options, &dhcppkt->dhcphdr->options, ( len - offsetof ( struct dhcphdr, options ) ) ); - dhcppkt->len = ( offsetof ( struct dhcphdr, options ) + - dhcppkt->options.len ); settings_init ( &dhcppkt->settings, &dhcppkt_settings_operations, &dhcppkt->refcnt, 0 ); } |