diff --git a/packer/src/main.rs b/packer/src/main.rs index ae4e02a..a5526e3 100644 --- a/packer/src/main.rs +++ b/packer/src/main.rs @@ -53,7 +53,7 @@ fn pack(input: String, output: String) { for (index, item) in list.iter().enumerate() { // Открываем дескриптор файла - let path = format!("{}/{}", input, item.name); + let path = format!("{}/{}.{}", input, item.name, item.index); let file = File::open(path).unwrap(); let metadata = file.metadata().unwrap(); @@ -138,6 +138,11 @@ fn pack(input: String, output: String) { list_buffer.extend(element_buffer); } + // Выравнивание буфера + while content_buffer.len() % 8 != 0 { + content_buffer.push(0); + } + let mut header_buffer: Vec = Vec::new(); // Пишем первый тип файла diff --git a/unpacker/src/main.rs b/unpacker/src/main.rs index 9d27385..2a84688 100644 --- a/unpacker/src/main.rs +++ b/unpacker/src/main.rs @@ -102,7 +102,7 @@ fn unpack(input: String, output: String) { // Распаковываем файлы в директорию for element in &list { - let path = format!("{}/{}", output, element.name); + let path = format!("{}/{}.{}", output, element.name, element.index); let mut file = File::create(path).unwrap(); let mut file_buffer = vec![0u8; element.size as usize];