]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/cnid/tdb/cnid_tdb_resolve.c
Support for using $u username variable in AFP volume definitions
[netatalk.git] / libatalk / cnid / tdb / cnid_tdb_resolve.c
index 0f18e822750112282c3678e6d5c8d0e278f31c54..b999ca3e001d73b6d5271149b52c3a3e814dc773 100644 (file)
@@ -1,5 +1,4 @@
 /*
- * $Id: cnid_tdb_resolve.c,v 1.2 2005-04-28 20:50:02 bfernhomberg Exp $
  */
 
 #ifdef HAVE_CONFIG_H
 #include "cnid_tdb.h"
 
 /* Return the did/name pair corresponding to a CNID. */
-char *cnid_tdb_resolve(struct _cnid_db *cdb, cnid_t * id, void *buffer, u_int32_t len)
+char *cnid_tdb_resolve(struct _cnid_db *cdb, cnid_t * id, void *buffer, size_t len)
 {
     struct _cnid_tdb_private *db;
     TDB_DATA key, data;      
 
-    if (!cdb || !(db = cdb->_private) || !id || !(*id)) {
+    if (!cdb || !(db = cdb->cnid_db_private) || !id || !(*id)) {
         return NULL;
     }
-    key.dptr  = (char *)id;
+    key.dptr  = (unsigned char *)id;
     key.dsize = sizeof(cnid_t);
     data = tdb_fetch(db->tdb_cnid, key);
     if (data.dptr) 
     {
         if (data.dsize < len && data.dsize > sizeof(cnid_t)) {
-            memcpy(id, (char *)data.dptr + TDB_DEVINO_LEN, sizeof(cnid_t));
-            strcpy(buffer, (char *)data.dptr + TDB_HEADER_LEN);
+            memcpy(id, (char *)data.dptr + +CNID_DID_OFS, sizeof(cnid_t));
+            strcpy(buffer, (char *)data.dptr + CNID_NAME_OFS);
             free(data.dptr);
             return buffer;
         }