libs/lmo: return entries as udata and only create strings on demand