From 6d8be2caee3c99101638bc90e5c0a13b3221dea2 Mon Sep 17 00:00:00 2001 From: AlexPeshkoff Date: Wed, 10 Mar 2021 19:38:29 +0300 Subject: [PATCH] Fixed CORE-6499: Regression: gstat with switch -t executed via services fails with "found unknown switch" error --- src/jrd/svc.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/jrd/svc.cpp b/src/jrd/svc.cpp index 4b29585f735..5f3e7a2c1bf 100644 --- a/src/jrd/svc.cpp +++ b/src/jrd/svc.cpp @@ -2882,6 +2882,30 @@ bool Service::process_switches(ClumpletReader& spb, string& switches) { string s; spb.getString(s); + + bool inStr = false; + for (FB_SIZE_T i = 0; i < s.length(); ++i) + { + if (s[i] == SVC_TRMNTR) + { + s.erase(i, 1); + if (inStr) + { + if (i < s.length() && s[i] != SVC_TRMNTR) + { + inStr = false; + continue; + } + } + else + { + inStr = true; + continue; + } + } + ++i; + } + switches += s; switches += ' '; }