+static Eet_Convert *
+eet_dictionary_convert_get(const Eet_Dictionary *ed,
+ int idx,
+ const char **str)
+{
+ Eet_Convert *result;
+
+ *str = ed->all[idx].allocated ? ed->all[idx].u.str : ed->all[idx].u.mmap;
+
+ if (!ed->converts)
+ {
+ ((Eet_Dictionary*)ed)->converts = eina_hash_int32_new(free);
+
+ goto add_convert;
+ }
+
+ result = eina_hash_find(ed->converts, &idx);
+ if (result) return result;
+
+ add_convert:
+ result = calloc(1, sizeof (Eet_Convert));
+
+ eina_hash_add(ed->converts, &idx, result);
+ return result;
+}
+