clang-format, ensure --no-abs-symlink works in v1
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 9s

This commit is contained in:
Stephen Seo 2024-10-04 21:39:13 +09:00
parent cf032cd9c1
commit 36fb7bf042

View file

@ -1882,7 +1882,7 @@ int simple_archiver_write_v1(FILE *out_f, SDArchiverState *state,
return SDAS_FAILED_TO_WRITE;
}
if (abs_path) {
if (abs_path && (state->parsed->flags & 0x20) == 0) {
len = strlen(abs_path);
if (len >= 0xFFFF) {
fprintf(stderr,
@ -2441,7 +2441,7 @@ int simple_archiver_parse_archive_version_0(FILE *in_f, int_fast8_t do_extract,
}
buf[1023] = 0;
fprintf(stderr, " Filename: %s\n", buf);
if (simple_archiver_validate_file_path((char*)buf)) {
if (simple_archiver_validate_file_path((char *)buf)) {
fprintf(stderr, " ERROR: Invalid filename!\n");
skip = 1;
}
@ -2488,7 +2488,7 @@ int simple_archiver_parse_archive_version_0(FILE *in_f, int_fast8_t do_extract,
uc_heap_buf[u16] = 0;
fprintf(stderr, " Filename: %s\n", uc_heap_buf);
if (simple_archiver_validate_file_path((char*)uc_heap_buf)) {
if (simple_archiver_validate_file_path((char *)uc_heap_buf)) {
fprintf(stderr, " ERROR: Invalid filename!\n");
skip = 1;
}
@ -3263,6 +3263,11 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
if (!do_extract) {
fprintf(stderr, " Link name: %s\n", link_name);
if (absolute_preferred) {
fprintf(stderr, " Absolute path preferred.\n");
} else {
fprintf(stderr, " Relative path preferred.\n");
}
#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_MAC || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_LINUX
@ -3298,7 +3303,8 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
return ret;
}
path[u16] = 0;
if (do_extract && !skip_due_to_map && !skip_due_to_invalid && absolute_preferred) {
if (do_extract && !skip_due_to_map && !skip_due_to_invalid &&
absolute_preferred) {
#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_MAC || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_LINUX
@ -3368,7 +3374,8 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
return ret;
}
path[u16] = 0;
if (do_extract && !skip_due_to_map && !skip_due_to_invalid && !absolute_preferred) {
if (do_extract && !skip_due_to_map && !skip_due_to_invalid &&
!absolute_preferred) {
#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_MAC || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_LINUX
@ -3424,8 +3431,10 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
fprintf(stderr, " No Relative path.\n");
}
if (do_extract && !link_extracted && !skip_due_to_map && !skip_due_to_invalid) {
fprintf(stderr, " WARNING: Symlink \"%s\" was not created!\n", link_name);
if (do_extract && !link_extracted && !skip_due_to_map &&
!skip_due_to_invalid) {
fprintf(stderr, " WARNING: Symlink \"%s\" was not created!\n",
link_name);
}
}
@ -3694,7 +3703,8 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
fprintf(stderr, " Skipping invalid filename...\n");
}
if (do_extract && !skip_due_to_map && (file_info->other_flags & 1) == 0) {
if (do_extract && !skip_due_to_map &&
(file_info->other_flags & 1) == 0) {
#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_MAC || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_LINUX
@ -3792,7 +3802,8 @@ int simple_archiver_parse_archive_version_1(FILE *in_f, int_fast8_t do_extract,
fprintf(stderr, " Skipping invalid filename...\n");
}
if (do_extract && !skip_due_to_map && (file_info->other_flags & 1) == 0) {
if (do_extract && !skip_due_to_map &&
(file_info->other_flags & 1) == 0) {
#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_MAC || \
SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_LINUX
@ -4030,9 +4041,11 @@ int simple_archiver_validate_file_path(const char *filepath) {
if (len >= 1 && filepath[0] == '/') {
return 1;
} else if (len >= 3 && filepath[0] == '.' && filepath[1] == '.' && filepath[2] == '/') {
} else if (len >= 3 && filepath[0] == '.' && filepath[1] == '.' &&
filepath[2] == '/') {
return 2;
} else if (len >= 3 && filepath[len - 1] == '.' && filepath[len - 2] == '.' && filepath[len - 3] == '/') {
} else if (len >= 3 && filepath[len - 1] == '.' && filepath[len - 2] == '.' &&
filepath[len - 3] == '/') {
return 4;
}