@Raziel
Ok, tried you test case and then hit issue trgswe mentioned. Modified example so that it copies the given path and removes the trailing slash. Tested with BASS and seemed to work.
If you use this, please change log levels back to something reasonable (debug?). I used warning just in case.
bool AmigaOSFilesystemNode::createDirectory() {
Common::String temp = _sPath;
if (temp.lastChar() == '/') {
temp = temp.substr(0, temp.size() - 1);
}
BPTR lock = IDOS->CreateDir(temp.c_str());
if (lock) {
IDOS->UnLock(lock);
warning("AmigaOSFilesystemNode::createDirectory() -> Directory '%s' created", temp.c_str());
_bIsValid = true;
_bIsDirectory = true;
} else {
warning("AmigaOSFilesystemNode::createDirectory() -> Failed to create '%s'", temp.c_str());
}
return _bIsValid && _bIsDirectory;
}