From 52b12762822ff0eacdd30d52bacb62c062103384 Mon Sep 17 00:00:00 2001 From: NigelVanHattum Date: Fri, 17 Mar 2023 23:53:58 +0100 Subject: [PATCH] Fix for extra encoded quotation marks surrounding Docker environment variables (#2319) * Fix for extra encoded quotation marks surrounding Docker environment variables --------- Co-authored-by: Hattum van Co-authored-by: abraunegg --- src/config.d | 8 +++++++- src/main.d | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/config.d b/src/config.d index cc938366..99a91486 100644 --- a/src/config.d +++ b/src/config.d @@ -675,7 +675,13 @@ final class Config setValueString("skip_dir", configFileSkipDir); } } - + // --single-directory Strip quotation marks from path + // This is an issue when using ONEDRIVE_SINGLE_DIRECTORY with Docker + if (key == "single_directory") { + // Strip quotation marks from provided path + string configSingleDirectory = strip(to!string(c.front.dup), "\""); + setValueString("single_directory", configSingleDirectory); + } // Azure AD Configuration if (key == "azure_ad_endpoint") { string azureConfigValue = c.front.dup; diff --git a/src/main.d b/src/main.d index 36c88766..f35aeefc 100644 --- a/src/main.d +++ b/src/main.d @@ -1370,6 +1370,14 @@ int main(string[] args) log.error("ERROR: Unsupported account type for syncing OneDrive Business Shared Folders"); } } + + // Ensure that the value stored for cfg.getValueString("single_directory") does not contain any extra quotation marks + if (cfg.getValueString("single_directory") != ""){ + string originalSingleDirectoryValue = cfg.getValueString("single_directory"); + // Strip quotation marks from provided path to ensure no issues within a Docker environment when using passed in values + string updatedSingleDirectoryValue = strip(originalSingleDirectoryValue, "\""); + cfg.setValueString("single_directory", updatedSingleDirectoryValue); + } // Are we displaying the sync status of the client? if (cfg.getValueBool("display_sync_status")) {