in src/log_producer_sender.c [48:78]
void _rebuild_time(lz4_log_buf * lz4_buf, lz4_log_buf ** new_lz4_buf)
{
aos_debug_log("rebuild log.");
char * buf = (char *)malloc(lz4_buf->raw_length);
if (LZ4_decompress_safe((const char* )lz4_buf->data, buf, lz4_buf->length, lz4_buf->raw_length) <= 0)
{
free(buf);
aos_fatal_log("LZ4_decompress_safe error");
return;
}
uint32_t nowTime = time(NULL);
fix_log_group_time(buf, lz4_buf->raw_length, nowTime);
int compress_bound = LZ4_compressBound(lz4_buf->raw_length);
char *compress_data = (char *)malloc(compress_bound);
int compressed_size = LZ4_compress_default((char *)buf, compress_data, lz4_buf->raw_length, compress_bound);
if(compressed_size <= 0)
{
aos_fatal_log("LZ4_compress_default error");
free(buf);
free(compress_data);
return;
}
*new_lz4_buf = (lz4_log_buf*)malloc(sizeof(lz4_log_buf) + compressed_size);
(*new_lz4_buf)->length = compressed_size;
(*new_lz4_buf)->raw_length = lz4_buf->raw_length;
memcpy((*new_lz4_buf)->data, compress_data, compressed_size);
free(buf);
free(compress_data);
return;
}