void cache_answer(struct interface *iface, uint8_t *base, int blen,
char *name, struct dns_answer *a, uint8_t *rdata, int flush);
int cache_host_is_known(char *record);
+static inline bool cache_service_is_host(struct cache_service *s) {
+ return *((char *)s->avl.key) != '_';
+}
void cache_dump_records(struct blob_buf *buf, const char *name);
void cache_dump_recursive(struct blob_buf *b, const char *name, uint16_t type, struct interface *iface);
blob_buf_init(&b, 0);
avl_for_each_element(&services, s, avl) {
char *local;
- if (*((char *) s->avl.key) != '_')
+ if (cache_service_is_host(s))
continue;
snprintf(buffer, MAX_NAME_LEN, "%s", (const char *) s->avl.key);
local = strstr(buffer, ".local");
blob_buf_init(&b, 0);
avl_for_each_element(&services, s, avl) {
char *local;
- if (*((char *) s->avl.key) == '_')
+ if (!cache_service_is_host(s))
continue;
snprintf(buffer, MAX_NAME_LEN, "%s", (const char *) s->entry);
local = strstr(buffer, "._");