general: move common to utils, move common compression function to utils, clean up inconsitencies + add missing header to sony_bdp

This commit is contained in:
theubusu
2025-11-26 17:29:25 +01:00
parent 82be46fbd6
commit b608888538
32 changed files with 92 additions and 111 deletions
+3 -19
View File
@@ -1,10 +1,9 @@
use std::fs::{self, File, OpenOptions};
use std::path::{Path};
use std::io::{Write, Cursor};
use lz4::block::decompress;
use lzma_rs::lzma_decompress;
use std::io::{Write};
use crate::common;
use crate::utils::common;
use crate::utils::compression::{decompress_lzma, decompress_lz4};
use crate::utils::lzop::{unlzop_to_file};
use crate::utils::sparse::{unsparse_to_file};
@@ -32,21 +31,6 @@ fn parse_number(s: &str) -> Option<u64> {
}
}
fn decompress_lzma(compressed_data: &[u8]) -> Result<Vec<u8>, Box<dyn std::error::Error>> {
let mut input = Cursor::new(compressed_data);
let mut output = Vec::new();
lzma_decompress(&mut input, &mut output)?;
Ok(output)
}
fn decompress_lz4(compressed_data: &[u8], original_size: i32) -> Result<Vec<u8>, std::io::Error> {
match decompress(compressed_data, Some(original_size)) {
Ok(decompressed) => Ok(decompressed),
Err(e) => Err(std::io::Error::new(std::io::ErrorKind::InvalidData, e)),
}
}
pub fn extract_mstar(file: &File, output_folder: &str) -> Result<(), Box<dyn std::error::Error>> {
let mut script = common::read_file(&file, 0, 32768)?;