-EXIM_DATUM_INIT(key); /* Some DBM libraries require datums to */
-EXIM_DATUM_INIT(data); /* be cleared before use. */
-EXIM_DATUM_DATA(key) = CS keystring;
-EXIM_DATUM_SIZE(key) = length + 1;
+exim_datum_init(&key); /* Some DBM libraries require datums to */
+exim_datum_init(&data); /* be cleared before use. */
+length++;
+exim_datum_data_set(&key,
+ memcpy(store_get(length, keystring), keystring, length)); /* key can have embedded NUL */
+exim_datum_size_set(&key, length);