diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common/protocol.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/common/protocol.c b/src/common/protocol.c index e71938c..d3317e3 100644 --- a/src/common/protocol.c +++ b/src/common/protocol.c @@ -30,7 +30,7 @@ #include "protocol.h" #include "protocol_private.h" #include "net.h" -#include "util.h" +#include "utils.h" #define READ_AS(type, from) (*((type*)(from))) @@ -41,20 +41,28 @@ int push_tlv(struct tlv_packet *packet, enum tlv_type type, char *data) switch (type) { case TEXT: + size = strlen(data); break; case FPI1: + size = sizeof(fpi1_t); break; case TIMESTAMP: + size = sizeof(time_t); break; case REQUEST: + size = sizeof(msg_idx_t); break; case REPLY: + size = sizeof(msg_idx_t) + strlen(data + sizeof(msg_idx_t)); break; case UUID: + size = sizeof(uuid_t); break; default: ret = E_UNKNOWN_TYPE; } + ret |= push_tlv_header(packet, type, size); + ret |= push_bytes(packet, data, size); return ret; } |