From 22756068dd0ed6ff9734c59cb4f99ebd3f62555b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Wed, 23 Oct 2024 16:24:50 +0100 Subject: [PATCH] npdmtool: don't error with missing debug flags, error with multiple set (#50) --- configure.ac | 2 +- src/npdmtool.c | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 2815c1d..1de75e0 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT([switch-tools],[1.13.0],[https://github.com/switchbrew/switch-tools/issues]) +AC_INIT([switch-tools],[1.13.1],[https://github.com/switchbrew/switch-tools/issues]) AC_CONFIG_SRCDIR([src/build_pfs0.c]) AM_INIT_AUTOMAKE([subdir-objects]) diff --git a/src/npdmtool.c b/src/npdmtool.c index 7b1c62b..62d63ae 100644 --- a/src/npdmtool.c +++ b/src/npdmtool.c @@ -830,15 +830,11 @@ int CreateNpdm(const char *json, void **dst, u32 *dst_size) { int allow_debug = 0; int force_debug = 0; int force_debug_prod = 0; - if (!cJSON_GetBoolean(value, "allow_debug", &allow_debug)) { - status = 0; - goto NPDM_BUILD_END; - } - if (!cJSON_GetBoolean(value, "force_debug", &force_debug)) { - status = 0; - goto NPDM_BUILD_END; - } - if (!cJSON_GetBoolean(value, "force_debug_prod", &force_debug_prod)) { + cJSON_GetBoolean(value, "allow_debug", &allow_debug); + cJSON_GetBoolean(value, "force_debug", &force_debug); + cJSON_GetBoolean(value, "force_debug_prod", &force_debug_prod); + if ( allow_debug + force_debug + force_debug_prod > 1 ) { + fprintf(stderr, "Only one of allow_debug, force_debug, or force_debug_prod can be set!\n"); status = 0; goto NPDM_BUILD_END; }