X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=cache.c;h=e775537fedc5318e5bd8ef12a32d37486187c931;hp=357caddd930bc056890edf68c9c895e06d909493;hb=b2fcf49ef01411ab1ed8a0721e89460d0e870616;hpb=f04d8b9be03fe4f06ded9fb0f7d949ccfa491442 diff --git a/cache.c b/cache.c index 357cadd..e775537 100644 --- a/cache.c +++ b/cache.c @@ -126,14 +126,14 @@ cache_scan(void) static struct cache_entry* cache_entry(struct interface *iface, char *entry, int hlen, int ttl) { - struct cache_entry *s; + struct cache_entry *s, *t; char *entry_buf; char *host_buf; char *type; - s = avl_find_element(&entries, entry, s, avl); - if (s) - return s; + avl_for_each_element_safe(&entries, s, avl, t) + if (!strcmp(s->entry, entry)) + return s; s = calloc_a(sizeof(*s), &entry_buf, strlen(entry) + 1,