From d96663bd09953b748d18834abd67fac590c4f3ac Mon Sep 17 00:00:00 2001 From: jfrey Date: Fri, 15 Jun 2018 16:30:25 +0300 Subject: [PATCH] CLI: ensure custom directories exist --- src/asset.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/asset.cpp b/src/asset.cpp index b3cadc76..65d1dd59 100644 --- a/src/asset.cpp +++ b/src/asset.cpp @@ -19,6 +19,8 @@ #include #endif +#include + namespace rack { @@ -62,7 +64,13 @@ void assetInit(bool devMode, std::string customGlobalDir, std::string customLoca #endif } else { - globalDir = customGlobalDir; + if (!systemIsDirectory(customGlobalDir)) { + std::cerr << "Selected global directory \"" << customGlobalDir << "\" does not exist or is not a directory, default to current directory." << std::endl; + globalDir = "."; + } + else { + globalDir = customGlobalDir; + } } if (customLocalDir.empty()) { @@ -94,7 +102,13 @@ void assetInit(bool devMode, std::string customGlobalDir, std::string customLoca #endif } else { - localDir = customLocalDir; + if (!systemIsDirectory(customLocalDir)) { + std::cerr << "Selected local directory \"" << customLocalDir << "\" does not exist or is not a directory, default to current directory." << std::endl; + localDir = "."; + } + else { + localDir = customLocalDir; + } } }