X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fcnid_dbd%2Fdbd_resolve.c;h=bb3561caba7a1018605be36649d85b13abb8ab29;hb=15c1fc2f2328736dd428ec3be37c893d8ee2e065;hp=14f22cf4d24973d3ae132eed1b5597eaf5a72380;hpb=8cf575676133a685317008aa44fde582cf3faaf3;p=netatalk.git diff --git a/etc/cnid_dbd/dbd_resolve.c b/etc/cnid_dbd/dbd_resolve.c index 14f22cf4..bb3561ca 100644 --- a/etc/cnid_dbd/dbd_resolve.c +++ b/etc/cnid_dbd/dbd_resolve.c @@ -1,5 +1,5 @@ /* - * $Id: dbd_resolve.c,v 1.3 2009-05-04 09:09:43 franklahm Exp $ + * $Id: dbd_resolve.c,v 1.4 2009-05-06 11:54:24 franklahm Exp $ * * Copyright (C) Joerg Lenneis 2003 * All Rights Reserved. See COPYING. @@ -12,7 +12,8 @@ #include #include #include -#include +#include + #include #include "dbif.h" @@ -21,7 +22,7 @@ /* Return the did/name pair corresponding to a CNID. */ -int dbd_resolve(struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply) +int dbd_resolve(DBD *dbd, struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply) { DBT key, data; int rc; @@ -34,7 +35,7 @@ int dbd_resolve(struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply) key.data = (void *) &rqst->cnid; key.size = sizeof(cnid_t); - if ((rc = dbif_get(DBIF_IDX_CNID, &key, &data, 0)) < 0) { + if ((rc = dbif_get(dbd, DBIF_CNID, &key, &data, 0)) < 0) { LOG(log_error, logtype_cnid, "dbd_resolve: DB Error resolving CNID %u", ntohl(rqst->cnid)); rply->result = CNID_DBD_RES_ERR_DB; return -1; @@ -50,11 +51,11 @@ int dbd_resolve(struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply) memcpy(&rply->did, (char *) data.data + CNID_DID_OFS, sizeof(cnid_t)); - rply->namelen = data.size - CNID_NAME_OFS; - rply->name = (char *)data.data + CNID_NAME_OFS; + rply->namelen = data.size; + rply->name = (char *)data.data; - LOG(log_debug, logtype_cnid, "dbd_resolve: Resolving CNID %u to did %u name %s", - ntohl(rqst->cnid), ntohl(rply->did), rply->name); + LOG(log_debug, logtype_cnid, "dbd_resolve(CNID: %u): did: %u, name: \"%s\"", + ntohl(rqst->cnid), ntohl(rply->did), rply->name + CNID_NAME_OFS); rply->result = CNID_DBD_RES_OK; return 1;