summaryrefslogtreecommitdiff
path: root/src/packet_storage.c
diff options
context:
space:
mode:
authorGravatar moon <moon@coffin.ir> 2025-09-16 11:22:51 +0330
committerGravatar moon <moon@coffin.ir> 2025-09-16 11:22:51 +0330
commit6bc2bf4e1bdb0d3a61c936c99e1ba671c54222b8 (patch)
tree285e95a2052fe9e4a74c9ededb855a46842747ca /src/packet_storage.c
parentadd new opcode + firehose change (diff)
compressino + fixed logic
Diffstat (limited to 'src/packet_storage.c')
-rw-r--r--src/packet_storage.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/packet_storage.c b/src/packet_storage.c
index bb8cdcd..5781661 100644
--- a/src/packet_storage.c
+++ b/src/packet_storage.c
@@ -324,10 +324,10 @@ struct data_packet *load_packet(FILE *file) {
uint64_t set_data_packet(struct data_packet *new_packet) {
byte temp_buffer[ sizeof(struct data_packet) ];
memcpy(temp_buffer, new_packet, sizeof(struct data_packet));
+ uLongf compressed_len = compressBound(sizeof(struct data_packet));
byte compressed[ sizeof(struct data_packet) ];
- uLongf compressed_len = sizeof(struct data_packet);
if (compress(compressed, &compressed_len, temp_buffer, sizeof(struct data_packet)) != Z_OK) {
- printf("set_data_packet: compression failed\n");
+ fprintf(stderr, "set_data_packet: compression failed\n");
return invalid_index;
}
@@ -343,9 +343,8 @@ uint64_t set_data_packet(struct data_packet *new_packet) {
struct data_packet_entry *current_entry = &packet_index[ cur_index ];
while (true) {
- if (current_entry->is_full &&
- current_entry->compressed_size == compressed_len &&
- memcmp(current_entry->compressed_payload, compressed_payload, compressed_len) == 0) {
+ if (current_entry->is_full && current_entry->compressed_size == compressed_len
+ && memcmp(current_entry->compressed_payload, compressed_payload, compressed_len) == 0) {
arena_free(current_entry->compressed_payload);
current_entry->compressed_payload = compressed_payload;
current_entry->compressed_size = compressed_len;