]> arthur.barton.de Git - netatalk.git/blobdiff - etc/cnid_dbd/pack.c
Additional CNID db name index
[netatalk.git] / etc / cnid_dbd / pack.c
index 1b4a15be588646fff8814ff9f2557abc08d02f7e..eb90d85809b5f45af70e5736e7990e8d1beb26eb 100644 (file)
@@ -1,7 +1,6 @@
 /*
- * $Id: pack.c,v 1.6 2009-10-13 22:55:37 didg Exp $
- *
  * Copyright (C) Joerg Lenneis 2003
+ * Copyright (C) Frank Lahm 2010
  * All Rights Reserved.  See COPYING.
  */
 
@@ -72,6 +71,15 @@ int devino(DB *dbp _U_, const DBT *pkey _U_,  const DBT *pdata, DBT *skey)
     return (0);
 }
 
+/* --------------- */
+int idxname(DB *dbp _U_, const DBT *pkey _U_,  const DBT *pdata, DBT *skey)
+{
+    memset(skey, 0, sizeof(DBT));
+    skey->data = (char *)pdata->data + CNID_NAME_OFS;
+    skey->size = strlen((char *)skey->data) + 1;
+    return (0);
+}
+
 /* The equivalent to make_cnid_data in the cnid library. Non re-entrant. We
    differ from make_cnid_data in that we never return NULL, rqst->name cannot
    ever cause start[] to overflow because name length is checked in libatalk. */