if(tmpname[i] == '/') tmpname[i] = ':';
- if (!atalk_iniparser_getboolean(obj->iniconfig, INISEC_GLOBAL, "vol dbnest", 0)) {
+ if (atalk_iniparser_getboolean(obj->iniconfig, INISEC_GLOBAL, "vol dbnest", 0)) {
+ EC_NULL( volume->v_dbpath = strdup(path) );
+ } else {
bstring dbpath;
- EC_NULL( val = atalk_iniparser_getstring(obj->iniconfig, INISEC_GLOBAL, "vol dbpath", _PATH_STATEDIR "CNID/") );
- EC_NULL( dbpath = bformat("%s/%s/", val, tmpname) );
- EC_NULL( volume->v_dbpath = strdup(cfrombstr(dbpath)) );
+ val = atalk_iniparser_getstring(obj->iniconfig, section, "vol dbpath", NULL);
+ if (val == NULL) {
+ EC_NULL( dbpath = bformat("%s/%s/", _PATH_STATEDIR "CNID/", tmpname) );
+ } else {
+ EC_NULL( dbpath = bfromcstr(val));
+ }
+ EC_NULL( volume->v_dbpath = volxlate(obj, NULL, MAXPATHLEN + 1,
+ cfrombstr(dbpath), pwd, NULL, NULL) );
bdestroy(dbpath);
- } else {
- EC_NULL( volume->v_dbpath = strdup(path) );
}
if ((val = getoption(obj->iniconfig, section, "cnid scheme", preset, NULL)))