X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libatalk%2Fcnid%2Fdbd%2Fcnid_dbd.c;h=22ac6d3b146adb839f79302122395363e4c8a2e6;hb=2491b79180cd99e246d034999b3a6e84966587fa;hp=c33b601c5c78674451885397fddfb435a9a37773;hpb=5f5e2a24b880fd895aaa8ef1f7429ad91067253f;p=netatalk.git diff --git a/libatalk/cnid/dbd/cnid_dbd.c b/libatalk/cnid/dbd/cnid_dbd.c index c33b601c..22ac6d3b 100644 --- a/libatalk/cnid/dbd/cnid_dbd.c +++ b/libatalk/cnid/dbd/cnid_dbd.c @@ -793,7 +793,7 @@ cnid_t cnid_dbd_lookup(struct _cnid_db *cdb, const struct stat *st, const cnid_t } /* ---------------------- */ -int cnid_dbd_find(struct _cnid_db *cdb, const char *name, size_t len) +int cnid_dbd_find(struct _cnid_db *cdb, const char *name, size_t namelen, void *buffer, size_t buflen) { CNID_private *db; struct cnid_dbd_rqst rqst; @@ -806,21 +806,23 @@ int cnid_dbd_find(struct _cnid_db *cdb, const char *name, size_t len) return CNID_INVALID; } - if (len > MAXPATHLEN) { + if (namelen > MAXPATHLEN) { LOG(log_error, logtype_cnid, "cnid_find: Path name is too long"); errno = CNID_ERR_PATH; return CNID_INVALID; } + LOG(log_debug, logtype_cnid, "cnid_find(\"%s\")", name); + RQST_RESET(&rqst); rqst.op = CNID_DBD_OP_SEARCH; rqst.name = name; - rqst.namelen = len; + rqst.namelen = namelen; - LOG(log_debug, logtype_cnid, "cnid_find(\"%s\")", name); + rply.name = buffer; + rply.namelen = buflen; - rply.namelen = 0; if (transmit(db, &rqst, &rply) < 0) { errno = CNID_ERR_DB; return CNID_INVALID;