diff options
| author | 2025-01-29 16:42:44 -0500 | |
|---|---|---|
| committer | 2025-01-29 16:42:44 -0500 | |
| commit | 0e4440d9235da485a75e52466bbffe9511ba6d97 (patch) | |
| tree | 55d8e19eaac1ebf46fba9dbf369d9893233aec31 /src/util | |
| parent | 7a23e4015766ae98a5f5f65e0c1aa588a491d296 (diff) | |
| download | libnaunet-0e4440d9235da485a75e52466bbffe9511ba6d97.tar.gz libnaunet-0e4440d9235da485a75e52466bbffe9511ba6d97.tar.bz2 libnaunet-0e4440d9235da485a75e52466bbffe9511ba6d97.zip | |
Fix synchronization of pool->flushing
- Paranoid bool size in packet.
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/util')
| -rw-r--r-- | src/util/packet.c | 15 | ||||
| -rw-r--r-- | src/util/packet.h | 8 |
2 files changed, 17 insertions, 6 deletions
diff --git a/src/util/packet.c b/src/util/packet.c index 4f1541c..ab2fa83 100644 --- a/src/util/packet.c +++ b/src/util/packet.c @@ -43,7 +43,6 @@ u32 nn_packet_get_size(struct nn_packet *packet) NNWT_PACKET_WRITE_TYPE(packet, type, v); \ } -DEFINE_PACKET_WRITE_FUNC(bool) DEFINE_PACKET_WRITE_FUNC(u8) DEFINE_PACKET_WRITE_FUNC(s8) DEFINE_PACKET_WRITE_FUNC(u16) @@ -55,6 +54,12 @@ DEFINE_PACKET_WRITE_FUNC(s64) DEFINE_PACKET_WRITE_FUNC(f32) DEFINE_PACKET_WRITE_FUNC(f64) +void nn_packet_write_bool(struct nn_packet *packet, bool v) +{ + u8 byte = v ? 1 : 0; + NNWT_PACKET_WRITE_TYPE(packet, u8, byte); +} + void nn_packet_write_str(struct nn_packet *packet, str *s) { NNWT_PACKET_WRITE_TYPE(packet, u32, s->length); @@ -84,7 +89,6 @@ void nn_packet_write_buffer(struct nn_packet *packet, struct nn_buffer *buf) return r; \ } -DEFINE_PACKET_READ_FUNC(bool) DEFINE_PACKET_READ_FUNC(u8) DEFINE_PACKET_READ_FUNC_EXT(u8) DEFINE_PACKET_READ_FUNC(s8) @@ -99,6 +103,13 @@ DEFINE_PACKET_READ_FUNC(s64) DEFINE_PACKET_READ_FUNC(f32) DEFINE_PACKET_READ_FUNC(f64) +bool nn_packet_read_bool(struct nn_packet *packet) +{ + u8 byte; + NNWT_PACKET_READ_TYPE(packet, u8, byte); + return byte == 1; +} + void nn_packet_read_str(struct nn_packet *packet, str *s) { NNWT_PACKET_READ_TYPE(packet, u32, s->length); diff --git a/src/util/packet.h b/src/util/packet.h index b2348ca..5659a70 100644 --- a/src/util/packet.h +++ b/src/util/packet.h @@ -29,14 +29,14 @@ struct nn_packet { #define NNWT_PACKET_READ_TYPE(p, type, r) \ r = *((type *)nn_buffer_get_ptr(&(p)->buffer, (p)->rindex)); \ - (p)->rindex += (u32)sizeof(type); + (p)->rindex += (u32)sizeof(type) #define NNWT_PACKET_PEEK_TYPE(p, type, r) \ - r = *((type *)nn_buffer_get_ptr(&(p)->buffer, (p)->rindex)); + r = *((type *)nn_buffer_get_ptr(&(p)->buffer, (p)->rindex)) #define NNWT_PACKET_READ_DATA(p, length, r) \ - r = (void *)nn_buffer_get_ptr(&(p)->buffer, (p)->rindex); \ - (p)->rindex += (u32)length; + r = (void *)nn_buffer_get_ptr(&(p)->buffer, (p)->rindex); \ + (p)->rindex += (u32)length struct nn_packet *nn_packet_create(void); struct nn_packet *nn_packet_clone(struct nn_packet *packet); |