#include <atalk/logger.h>
#include <atalk/errchk.h>
#include <atalk/bstrlib.h>
+#include <atalk/bstradd.h>
#include <atalk/netatalk_conf.h>
#include <atalk/util.h>
EC_ZERO( get_lock(LOCK_FREE, bdata(dbpath)) );
EC_NEG1( cwd = open(".", O_RDONLY) );
- chdir(bdata(dbpath));
+ chdir(cfrombstr(dbpath));
system("rm -f cnid2.db lock log.* __db.*");
if ((db_locked = get_lock(LOCK_EXCL, bdata(dbpath))) != LOCK_EXCL) {
LOG(log_warning, logtype_cnid, "Recreated CNID BerkeleyDB databases of volume \"%s\"", vol->v_localname);
EC_CLEANUP:
- if (cwd != -1)
+ if (cwd != -1) {
fchdir(cwd);
+ close(cwd);
+ }
EC_EXIT;
}
{
EC_INIT;
DBT key, data;
- bool copyRootInfo;
+ bool copyRootInfo = false;
if (dbd) {
memset(&key, 0, sizeof(key));
EC_INIT;
int delete_bdb = 0;
int ctrlfd = -1, clntfd = -1;
- char *logconfig;
AFPObj obj = { 0 };
char *volpath = NULL;