From c1fcf7e205315369e88ddc7ee50b7ad25b91c824 Mon Sep 17 00:00:00 2001 From: Paul Fournillon Date: Wed, 23 Sep 2026 17:44:30 +0200 Subject: [PATCH 1/5] fix: address argument parsing silent drops --- ddprof-lib/src/main/cpp/arguments.cpp | 113 +++++++--------- ddprof-lib/src/main/cpp/arguments.h | 4 +- ddprof-lib/src/main/cpp/javaApi.cpp | 4 +- ddprof-lib/src/main/cpp/log.cpp | 5 +- ddprof-lib/src/test/cpp/arguments_ut.cpp | 153 ++++++++++++++++++++++ ddprof-lib/src/test/cpp/remoteargs_ut.cpp | 6 +- doc/architecture/SanityChecks.md | 18 +-- 7 files changed, 219 insertions(+), 84 deletions(-) diff --git a/ddprof-lib/src/main/cpp/arguments.cpp b/ddprof-lib/src/main/cpp/arguments.cpp index d9aae05cb4..ee9aca2ad3 100644 --- a/ddprof-lib/src/main/cpp/arguments.cpp +++ b/ddprof-lib/src/main/cpp/arguments.cpp @@ -119,6 +119,25 @@ static const Multiplier UNIVERSAL[] = { // alluser - include only user-mode events // +// Parses the y/yes,t/true,1 vs n/no,f/false,0 boolean convention. Returns false +// (leaving *out untouched) when the value matches none of them, so the caller +// can raise "Invalid