aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
authorJames Burkle <james.burkle@gmail.com>2011-06-23 23:43:26 -0400
committerJames Burkle <james.burkle@gmail.com>2011-06-23 23:43:26 -0400
commited2c01405f5a5b913c4fd64397394559051e041a (patch)
treed3cf489b80bb4c8580eb5a21b8ae24b3eae60a6d /src/init.cpp
parent1179257bfd1d0f7742d57449b37c40c28464f152 (diff)
Edited init.cpp to include a check that -datadir exists
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/init.cpp b/src/init.cpp
index a0c90e0a7a..ebe176a5e4 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -141,10 +141,19 @@ bool AppInit2(int argc, char* argv[])
if (mapArgs.count("-datadir"))
{
- filesystem::path pathDataDir = filesystem::system_complete(mapArgs["-datadir"]);
- strlcpy(pszSetDataDir, pathDataDir.string().c_str(), sizeof(pszSetDataDir));
+ if (filesystem::is_directory(filesystem::system_complete(mapArgs["-datadir"])))
+ {
+ filesystem::path pathDataDir = filesystem::system_complete(mapArgs["-datadir"]);
+ strlcpy(pszSetDataDir, pathDataDir.string().c_str(), sizeof(pszSetDataDir));
+ }
+ else
+ {
+ fprintf(stderr, "Error: Specified directory does not exist\n");
+ Shutdown(NULL);
+ }
}
+
ReadConfigFile(mapArgs, mapMultiArgs); // Must be done after processing datadir
if (mapArgs.count("-?") || mapArgs.count("--help"))