From 7d7c62eead1ce32bdbbb98ca344a9c650da2a2b3 Mon Sep 17 00:00:00 2001 From: LAGNEAU Romain Date: Wed, 12 Aug 2026 09:38:34 +0200 Subject: [PATCH 1/2] [FIX]? Attempt to fix catchParseArgv (Exit code 0xc0000374) on Windows --- modules/io/src/tools/vpParseArgv.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/io/src/tools/vpParseArgv.cpp b/modules/io/src/tools/vpParseArgv.cpp index b4f265c4d1..2b6c7ae999 100644 --- a/modules/io/src/tools/vpParseArgv.cpp +++ b/modules/io/src/tools/vpParseArgv.cpp @@ -387,7 +387,7 @@ void vpParseArgv::printUsage(vpArgvInfo *argTable, int flags) continue; } FPRINTF(stderr, "\n %s:", infoPtr->key); - numSpaces = ((width + 1) >= strlen(infoPtr->key) ? width + 1 - strlen(infoPtr->key) : 0); + numSpaces = ((width + 1) >= strlen(infoPtr->key) ? ((width + 1) - strlen(infoPtr->key)) : 0); while (numSpaces > 0) { if (numSpaces >= NUM_SPACES) { FPRINTF(stderr, "%s", spaces); From a7ae6caacf62b07928fc744090124ec626dc89e4 Mon Sep 17 00:00:00 2001 From: LAGNEAU Romain Date: Wed, 12 Aug 2026 16:46:49 +0200 Subject: [PATCH 2/2] [TEST][FIX] Fix catchParseArgv on Windows --- modules/io/test/parser/catchParseArgv.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/io/test/parser/catchParseArgv.cpp b/modules/io/test/parser/catchParseArgv.cpp index 742d68e482..3c49dba2d2 100644 --- a/modules/io/test/parser/catchParseArgv.cpp +++ b/modules/io/test/parser/catchParseArgv.cpp @@ -91,9 +91,11 @@ class ArgvHolder for (auto &s : m_storage) { m_ptrs.push_back(s.c_str()); } + + m_ptrs.push_back(nullptr); // A conventional C argv array is normally terminated with a null pointer } - int argc() const { return static_cast(m_ptrs.size()); } + int argc() const { return (static_cast(m_ptrs.size()) - 1); /* minus one not to count the nullptr*/ } const char **argv() { return m_ptrs.data(); } private: