/*
- * $Id: dbd_rebuild_add.c,v 1.3 2009-05-06 11:54:24 franklahm Exp $
+ * $Id: dbd_rebuild_add.c,v 1.4 2009-12-23 10:18:48 franklahm Exp $
*
* Copyright (C) Joerg Lenneis 2005
* All Rights Reserved. See COPYING.
{
DBT key, data;
cnid_t cur, tmp, id;
-
+
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
/* FIXME: In cnid_cdb.c Bjoern does a lookup here and returns the CNID found if sucessful. Why? */
if (dbif_put(dbd, DBIF_CNID, &key, &data, 0) < 0) {
- rply->result = CNID_DBD_RES_ERR_DB;
- return -1;
+ rply->result = CNID_DBD_RES_ERR_DB;
+ return -1;
}
- key.data = ROOTINFO_KEY;
+ key.data = ROOTINFO_KEY;
key.size = ROOTINFO_KEYLEN;
-
+
if (dbif_get(dbd, DBIF_CNID, &key, &data, 0) <= 0) {
- /* FIXME: If we cannot find ROOTINFO_KEY, should this be considered
+ /* FIXME: If we cannot find ROOTINFO_KEY, should this be considered
fatal or should we just return 0 and roll back? */
- rply->result = CNID_DBD_RES_ERR_DB;
- return -1;
+ rply->result = CNID_DBD_RES_ERR_DB;
+ return -1;
}
-
- memcpy(&tmp, (char *) data.data + CNID_TYPE_OFS, sizeof(cnid_t));
+
+ memcpy(&tmp, (char *) data.data + CNID_TYPE_OFS, sizeof(cnid_t));
cur = ntohl(tmp);
id = ntohl(rqst->cnid);
if (id > cur) {
- data.size = ROOTINFO_DATALEN;
- memcpy((char *) data.data + CNID_TYPE_OFS, &rqst->cnid, sizeof(cnid_t));
- if (dbif_put(dbd, DBIF_CNID, &key, &data, 0) < 0) {
- rply->result = CNID_DBD_RES_ERR_DB;
- return -1;
- }
+ data.size = ROOTINFO_DATALEN;
+ memcpy((char *) data.data + CNID_TYPE_OFS, &rqst->cnid, sizeof(cnid_t));
+ if (dbif_put(dbd, DBIF_CNID, &key, &data, 0) < 0) {
+ rply->result = CNID_DBD_RES_ERR_DB;
+ return -1;
+ }
}
-
+
rply->cnid = rqst->cnid;
rply->result = CNID_DBD_RES_OK;
return 1;