summaryrefslogtreecommitdiffstats
path: root/src/tlv.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2013-03-21 20:34:51 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2013-03-21 20:34:51 +0100
commit8fe8ed1942b6d7ff029a5a02e3352009d31f2ee2 (patch)
treeb22a74225d4fee21d25b4709626ff54865cbe322 /src/tlv.c
parentca758c85d216baa6c88b50a3170958d86deb05e0 (diff)
downloadbabel-8fe8ed1942b6d7ff029a5a02e3352009d31f2ee2.tar
babel-8fe8ed1942b6d7ff029a5a02e3352009d31f2ee2.zip
Save maximum length in packet buffers
Diffstat (limited to 'src/tlv.c')
-rw-r--r--src/tlv.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/tlv.c b/src/tlv.c
index 488f775..38232d1 100644
--- a/src/tlv.c
+++ b/src/tlv.c
@@ -57,18 +57,18 @@ bool gp_babel_tlv_parse(gmrf_t *gmrf, gmrf_context_t *ctx, const gp_babel_packet
return true;
}
-void* gp_babel_tlv_add(gp_babel_packet_t *packet, size_t max_len, gp_babel_tlv_type_t type, size_t len) {
- size_t pktlen = ntohs(packet->len);
+void* gp_babel_tlv_add(gp_babel_packet_buf_t *buf, gp_babel_tlv_type_t type, size_t len) {
+ size_t pktlen = ntohs(buf->packet.len);
- if (pktlen+len+2 > max_len)
+ if (pktlen+len+2 > buf->max_len)
return NULL;
- uint8_t *data = packet->tlv+pktlen+2;
+ uint8_t *data = buf->packet.tlv+pktlen+2;
data[-2] = type;
data[-1] = len;
- packet->len = htons(pktlen+len+2);
+ buf->packet.len = htons(pktlen+len+2);
return data;
}