Minor cleanup
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s

This commit is contained in:
Stephen Seo 2024-10-24 14:51:46 +09:00
parent 14986f5c4a
commit f81d007e7c

View file

@ -1689,6 +1689,29 @@ int files_to_chunk_count(void *data, void *ud) {
int greater_fn(int64_t a, int64_t b) { return a > b; }
void simple_archiver_internal_paths_to_files_map(SDArchiverHashMap *files_map,
const char *filename) {
simple_archiver_hash_map_insert(
files_map, (void *)1, strdup((const char *)filename),
strlen((const char *)filename) + 1,
simple_archiver_helper_datastructure_cleanup_nop, NULL);
__attribute__((
cleanup(simple_archiver_helper_cleanup_c_string))) char *filename_copy =
strdup(filename);
char *filename_dirname = dirname(filename_copy);
while (strcmp(filename_dirname, ".") != 0) {
if (!simple_archiver_hash_map_get(files_map, filename_dirname,
strlen(filename_dirname) + 1)) {
simple_archiver_hash_map_insert(
files_map, (void *)1, strdup(filename_dirname),
strlen(filename_dirname) + 1,
simple_archiver_helper_datastructure_cleanup_nop, NULL);
}
filename_dirname = dirname(filename_dirname);
}
}
char *simple_archiver_error_to_string(enum SDArchiverStateReturns error) {
switch (error) {
case SDAS_SUCCESS:
@ -3003,25 +3026,7 @@ int simple_archiver_parse_archive_version_0(FILE *in_f, int_fast8_t do_extract,
}
if (files_map && !skip && out_f_name) {
simple_archiver_hash_map_insert(
files_map, (void *)1, strdup((const char *)out_f_name),
strlen((const char *)out_f_name) + 1,
simple_archiver_helper_datastructure_cleanup_nop, NULL);
__attribute__((cleanup(
simple_archiver_helper_cleanup_c_string))) char *filename_copy =
strdup(out_f_name);
char *filename_dirname = dirname(filename_copy);
while (strcmp(filename_dirname, ".") != 0) {
if (!simple_archiver_hash_map_get(files_map, filename_dirname,
strlen(filename_dirname) + 1)) {
simple_archiver_hash_map_insert(
files_map, (void *)1, strdup(filename_dirname),
strlen(filename_dirname) + 1,
simple_archiver_helper_datastructure_cleanup_nop, NULL);
}
filename_dirname = dirname(filename_dirname);
}
simple_archiver_internal_paths_to_files_map(files_map, out_f_name);
}
#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \
@ -4102,25 +4107,8 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
file_info->file_size = u64;
if (files_map) {
simple_archiver_hash_map_insert(
files_map, (void *)1, strdup(file_info->filename),
strlen(file_info->filename) + 1,
simple_archiver_helper_datastructure_cleanup_nop, NULL);
__attribute__((cleanup(
simple_archiver_helper_cleanup_c_string))) char *filename_copy =
strdup(file_info->filename);
char *filename_dirname = dirname(filename_copy);
while (strcmp(filename_dirname, ".") != 0) {
if (!simple_archiver_hash_map_get(files_map, filename_dirname,
strlen(filename_dirname) + 1)) {
simple_archiver_hash_map_insert(
files_map, (void *)1, strdup(filename_dirname),
strlen(filename_dirname) + 1,
simple_archiver_helper_datastructure_cleanup_nop, NULL);
}
filename_dirname = dirname(filename_dirname);
}
simple_archiver_internal_paths_to_files_map(files_map,
file_info->filename);
}
simple_archiver_list_add(file_info_list, file_info,