Update file_format for v1
Size of bytes for files per chunk was changed from 2 bytes to 4 bytes.
This commit is contained in:
parent
8040006afe
commit
166632fc15
4 changed files with 6 additions and 6 deletions
|
@ -149,7 +149,7 @@ archive.
|
||||||
|
|
||||||
Following the chunk-count bytes, the following bytes are added for each chunk:
|
Following the chunk-count bytes, the following bytes are added for each chunk:
|
||||||
|
|
||||||
1. 2 bytes that are a 16-bit unsigned integer "file count" in big-endian.
|
1. 4 bytes that are a 32-bit unsigned integer "file count" in big-endian.
|
||||||
|
|
||||||
The following bytes are added for each file within the current chunk:
|
The following bytes are added for each file within the current chunk:
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -2974,13 +2974,13 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
|
||||||
for (uint32_t chunk_idx = 0; chunk_idx < chunk_count; ++chunk_idx) {
|
for (uint32_t chunk_idx = 0; chunk_idx < chunk_count; ++chunk_idx) {
|
||||||
fprintf(stderr, "CHUNK %3u of %3u\n", chunk_idx + 1, chunk_count);
|
fprintf(stderr, "CHUNK %3u of %3u\n", chunk_idx + 1, chunk_count);
|
||||||
|
|
||||||
if (fread(buf, 1, 2, in_f) != 2) {
|
if (fread(buf, 1, 4, in_f) != 4) {
|
||||||
return SDAS_INVALID_FILE;
|
return SDAS_INVALID_FILE;
|
||||||
}
|
}
|
||||||
memcpy(&u16, buf, 2);
|
memcpy(&u32, buf, 4);
|
||||||
simple_archiver_helper_16_bit_be(&u16);
|
simple_archiver_helper_32_bit_be(&u32);
|
||||||
|
|
||||||
const uint16_t file_count = u16;
|
const uint32_t file_count = u32;
|
||||||
|
|
||||||
__attribute__((cleanup(simple_archiver_list_free)))
|
__attribute__((cleanup(simple_archiver_list_free)))
|
||||||
SDArchiverLinkedList *file_info_list = simple_archiver_list_init();
|
SDArchiverLinkedList *file_info_list = simple_archiver_list_init();
|
||||||
|
@ -2988,7 +2988,7 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
|
||||||
__attribute__((cleanup(cleanup_internal_file_info)))
|
__attribute__((cleanup(cleanup_internal_file_info)))
|
||||||
SDArchiverInternalFileInfo *file_info = NULL;
|
SDArchiverInternalFileInfo *file_info = NULL;
|
||||||
|
|
||||||
for (uint16_t file_idx = 0; file_idx < file_count; ++file_idx) {
|
for (uint32_t file_idx = 0; file_idx < file_count; ++file_idx) {
|
||||||
file_info = malloc(sizeof(SDArchiverInternalFileInfo));
|
file_info = malloc(sizeof(SDArchiverInternalFileInfo));
|
||||||
memset(file_info, 0, sizeof(SDArchiverInternalFileInfo));
|
memset(file_info, 0, sizeof(SDArchiverInternalFileInfo));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue