2 * $Id: cnid_mangle_get.c,v 1.7 2003-01-04 20:49:33 jmarcus Exp $
7 #endif /* HAVE_CONFIG_H */
12 #include <sys/param.h>
15 #include <atalk/logger.h>
19 #include <netatalk/endian.h>
20 #include <atalk/adouble.h>
21 #include <atalk/cnid.h>
23 #include "cnid_private.h"
25 /* Find a mangled filename entry. */
27 cnid_mangle_get(void *CNID, char *mfilename)
40 memset(&key, 0, sizeof(key));
41 memset(&data, 0, sizeof(data));
44 key.size = strlen(mfilename);
46 while ((rc = db->db_mangle->get(db->db_mangle, NULL, &key, &data, 0))) {
47 if (rc == DB_LOCK_DEADLOCK) {
51 if (rc == DB_NOTFOUND) {
52 LOG(log_debug, logtype_default, "cnid_mangle_get: Failed to find mangled entry for %s", mfilename);
57 LOG(log_error, logtype_default, "cnid_mangle_get: Failed to get mangle entry from the database: %s", db_strerror(rc));
61 filename = (char *)data.data;
65 #endif /* FILE_MANGLING */