| 19 | namespace dmLZ4 |
| 20 | { |
| 21 | Result DecompressBuffer(const void* buffer, uint32_t buffer_size, void* decompressed_buffer, uint32_t max_output, int* decompressed_size) |
| 22 | { |
| 23 | Result r; |
| 24 | if(max_output <= DMLZ4_MAX_OUTPUT_SIZE) |
| 25 | { |
| 26 | *decompressed_size = LZ4_decompress_safe((const char*)buffer, (char *)decompressed_buffer, buffer_size, max_output); |
| 27 | if(*decompressed_size < 0) |
| 28 | r = dmLZ4::RESULT_OUTBUFFER_TOO_SMALL; |
| 29 | else |
| 30 | r = dmLZ4::RESULT_OK; |
| 31 | } |
| 32 | else |
| 33 | { |
| 34 | *decompressed_size = -1; |
| 35 | r = dmLZ4::RESULT_OUTPUT_SIZE_TOO_LARGE; |
| 36 | } |
| 37 | return r; |
| 38 | } |
| 39 | |
| 40 | Result CompressBuffer(const void* buffer, uint32_t buffer_size, void *compressed_buffer, int *compressed_size) |
| 41 | { |