When connecting, create root directory if it does not exists.
This commit is contained in:
parent
cb600c3373
commit
e32a8a5e1a
@ -2,6 +2,11 @@
|
|||||||
VERSION 0.6.1-cvs
|
VERSION 0.6.1-cvs
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
2004-12-23 Vincent Richard <vincent@vincent-richard.net>
|
||||||
|
|
||||||
|
* maildir: when connecting to the store, create root directory on the
|
||||||
|
file system if it does not exist.
|
||||||
|
|
||||||
2004-12-22 Vincent Richard <vincent@vincent-richard.net>
|
2004-12-22 Vincent Richard <vincent@vincent-richard.net>
|
||||||
|
|
||||||
* Fixed missing files in distribution (src/platform/*).
|
* Fixed missing files in distribution (src/platform/*).
|
||||||
|
@ -102,8 +102,26 @@ void maildirStore::connect()
|
|||||||
if (isConnected())
|
if (isConnected())
|
||||||
throw exceptions::already_connected();
|
throw exceptions::already_connected();
|
||||||
|
|
||||||
m_fsPath = platformDependant::getHandler()->getFileSystemFactory()->
|
// Get root directory
|
||||||
stringToPath(getSession()->getProperties()[getInfos().getPropertyPrefix() + "server.rootpath"]);
|
utility::fileSystemFactory* fsf = platformDependant::getHandler()->getFileSystemFactory();
|
||||||
|
|
||||||
|
m_fsPath = fsf->stringToPath
|
||||||
|
(getSession()->getProperties()[getInfos().getPropertyPrefix() + "server.rootpath"]);
|
||||||
|
|
||||||
|
utility::auto_ptr <utility::file> rootDir = fsf->create(m_fsPath);
|
||||||
|
|
||||||
|
// Try to create the root directory if it does not exist
|
||||||
|
if (!(rootDir->exists() && rootDir->isDirectory()))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
rootDir->createDirectory();
|
||||||
|
}
|
||||||
|
catch (exceptions::filesystem_exception& e)
|
||||||
|
{
|
||||||
|
throw exceptions::connection_error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m_connected = true;
|
m_connected = true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user