diff options
author | Lioncash <mathew1800@gmail.com> | 2014-09-06 19:36:49 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2014-09-06 19:36:49 +0200 |
commit | 26cd696843733f6d169717df2d90bb87461e34a7 (patch) | |
tree | deb90643db4a7ccbac730a9c3f75d229fcde02ec /src/core/loader/ncch.cpp | |
parent | Merge pull request #88 from archshift/remove-atomic (diff) | |
download | yuzu-26cd696843733f6d169717df2d90bb87461e34a7.tar yuzu-26cd696843733f6d169717df2d90bb87461e34a7.tar.gz yuzu-26cd696843733f6d169717df2d90bb87461e34a7.tar.bz2 yuzu-26cd696843733f6d169717df2d90bb87461e34a7.tar.lz yuzu-26cd696843733f6d169717df2d90bb87461e34a7.tar.xz yuzu-26cd696843733f6d169717df2d90bb87461e34a7.tar.zst yuzu-26cd696843733f6d169717df2d90bb87461e34a7.zip |
Diffstat (limited to 'src/core/loader/ncch.cpp')
-rw-r--r-- | src/core/loader/ncch.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/core/loader/ncch.cpp b/src/core/loader/ncch.cpp index ba27eb75a..9af59e419 100644 --- a/src/core/loader/ncch.cpp +++ b/src/core/loader/ncch.cpp @@ -40,19 +40,17 @@ u32 LZSS_GetDecompressedSize(u8* buffer, u32 size) { bool LZSS_Decompress(u8* compressed, u32 compressed_size, u8* decompressed, u32 decompressed_size) { u8* footer = compressed + compressed_size - 8; u32 buffer_top_and_bottom = *(u32*)footer; - u32 i, j; u32 out = decompressed_size; u32 index = compressed_size - ((buffer_top_and_bottom >> 24) & 0xFF); - u8 control; u32 stop_index = compressed_size - (buffer_top_and_bottom & 0xFFFFFF); memset(decompressed, 0, decompressed_size); memcpy(decompressed, compressed, compressed_size); while(index > stop_index) { - control = compressed[--index]; + u8 control = compressed[--index]; - for(i = 0; i < 8; i++) { + for(u32 i = 0; i < 8; i++) { if(index <= stop_index) break; if(index <= 0) @@ -76,13 +74,13 @@ bool LZSS_Decompress(u8* compressed, u32 compressed_size, u8* decompressed, u32 if(out < segment_size) { return false; } - for(j = 0; j < segment_size; j++) { - u8 data; + for(u32 j = 0; j < segment_size; j++) { // Check if compression is out of bounds if(out + segment_offset >= decompressed_size) { return false; } - data = decompressed[out + segment_offset]; + + u8 data = decompressed[out + segment_offset]; decompressed[--out] = data; } } else { |