From 7f03f453012e8d68e0926ba2a67852c3b710bbf6 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 10 Apr 2020 21:15:36 +0200 Subject: [PATCH] [util] Support encapsulated strings in configuration files Fixes #1567. --- src/util/config/config.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/util/config/config.cpp b/src/util/config/config.cpp index 67072601..50a3be30 100644 --- a/src/util/config/config.cpp +++ b/src/util/config/config.cpp @@ -395,9 +395,19 @@ namespace dxvk { return; // Extract the value + bool insideString = false; n = skipWhitespace(line, n + 1); - while (n < line.size() && !isWhitespace(line[n])) - value << line[n++]; + + while (n < line.size()) { + if (!insideString && isWhitespace(line[n])) + break; + + if (line[n] == '"') { + insideString = !insideString; + n++; + } else + value << line[n++]; + } if (ctx.active) config.setOption(key.str(), value.str());