summaryrefslogtreecommitdiffstats
path: root/src/idevicerestore.c
diff options
context:
space:
mode:
authorGravatar Visual Ehrmanntraut2025-06-27 12:16:04 +0300
committerGravatar Nikias Bassen2025-06-27 16:18:29 +0200
commit8d0563380db8f3412de1fabf5ad74ccde1159eac (patch)
tree19204b6810e361a6c530d7e720b7c018485445e6 /src/idevicerestore.c
parent8061f08b4e0a8f0ab5d1548b7e9978f3cc8647a2 (diff)
downloadidevicerestore-8d0563380db8f3412de1fabf5ad74ccde1159eac.tar.gz
idevicerestore-8d0563380db8f3412de1fabf5ad74ccde1159eac.tar.bz2
Improve type safety of new logging system and its handling of varargs
- Replaced loglevel arguments and globals using the `int` type with the `loglevel` enum. - Moved logging print func handler function declaration to typedef. - Fixed misuse of `print_func` where a char* was passed in place of `va_list` via a wrapper function `print_funcf`. - Fixed reuse of varargs in `logger` causing a segfault when `stderr_enabled` is true. - Fixed length in `snprintf` call inside `logger_hex_dump` truncating the printed text.
Diffstat (limited to 'src/idevicerestore.c')
-rw-r--r--src/idevicerestore.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/idevicerestore.c b/src/idevicerestore.c
index 3dd4bb9..f4ced47 100644
--- a/src/idevicerestore.c
+++ b/src/idevicerestore.c
@@ -1744,7 +1744,7 @@ static void plain_progress_func(struct progress_info_entry** progress_info, int
}
}
-static void tty_print(int level, const char* format, va_list varglist)
+static void tty_print(enum loglevel level, const char* fmt, va_list ap)
{
switch (level) {
case 0:
@@ -1760,7 +1760,7 @@ static void tty_print(int level, const char* format, va_list varglist)
break;
}
- cvfprintf(stdout, format, varglist);
+ cvfprintf(stdout, fmt, ap);
cprintf(COLOR_RESET);
}