+/* --------------- */
+int idxname(DB *dbp _U_, const DBT *pkey _U_, const DBT *pdata, DBT *skey)
+{
+ static char buffer[MAXPATHLEN +2];
+ uint16_t flags = CONV_TOLOWER;
+ memset(skey, 0, sizeof(DBT));
+
+ if (convert_charset(volume->v_volcharset,
+ volume->v_volcharset,
+ volume->v_maccharset,
+ (char *)pdata->data + CNID_NAME_OFS,
+ strlen((char *)pdata->data + CNID_NAME_OFS),
+ buffer,
+ MAXPATHLEN,
+ &flags) == (size_t)-1) {
+ LOG(log_error, logtype_cnid, "idxname: conversion error");
+ }
+
+ skey->data = buffer;
+ skey->size = strlen(skey->data);
+ return (0);
+}
+
+void pack_setvol(const struct vol *vol)
+{
+ volume = vol;
+}
+