/* Intern */ void *find(Mapnode *first, void *key, Cmpfn_ptr cmpfn) { if (!first) return NULL; else if (cmpfn(key, first->key) == 0) return first->val; else if (cmpfn(key, first->key) < 0) return find(first->left, key, cmpfn); else return find(first->right, key, cmpfn); } /* Gränssnittsfunktion */ void *findmap(Maphead *map, void *key) { return find(map->first, key, map->cfn); }