diff --git a/src/Context.cpp b/src/Context.cpp index bbc75aaa4..8b235a40c 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -48,6 +48,7 @@ Context::Context () : program ("") , rc_file () , data_dir () +, extension_dir () , config () , filter () , sequence () @@ -589,6 +590,7 @@ void Context::determineDataLocation () ((*arg)[16] == ':' || (*arg)[16] == '=')) { data_dir = Directory (arg->substr (17)); + extension_dir = data_dir.data + "/extensions"; header ("Using alternate data.location " + data_dir.data); // TODO i18n break; } @@ -614,6 +616,9 @@ void Context::createDefaultConfig () // Create data location, if necessary. config.createDefaultData (data_dir); + + // Create extension directory, if necessary. + extension_dir.create (); } //////////////////////////////////////////////////////////////////////////////// diff --git a/src/Context.h b/src/Context.h index db2a97f2e..5436aafe4 100644 --- a/src/Context.h +++ b/src/Context.h @@ -39,6 +39,9 @@ #include #include #include +#include +#include +#include class Context { @@ -93,6 +96,7 @@ public: std::string home_dir; File rc_file; Path data_dir; + Directory extension_dir; Config config; Filter filter;