Change dns_send_question function arg from unicast to multicast
[project/mdnsd.git] / dns.c
diff --git a/dns.c b/dns.c
index c5323e5e93c449af5ff38913dc8ec5c6a6a18687..63788f73ebdb708ea66ac2e83e920e152ca68aed 100644 (file)
--- a/dns.c
+++ b/dns.c
@@ -39,6 +39,7 @@
 #include "interface.h"
 
 static char name_buffer[MAX_NAME_LEN + 1];
+static char dns_buffer[MAX_NAME_LEN];
 static struct blob_buf ans_buf;
 
 const char*
@@ -66,7 +67,7 @@ dns_type_string(uint16_t type)
 }
 
 void
-dns_send_question(struct interface *iface, const char *question, int type, int unicast)
+dns_send_question(struct interface *iface, const char *question, int type, int multicast)
 {
        static struct dns_header h;
        static struct dns_question q;
@@ -76,7 +77,7 @@ dns_send_question(struct interface *iface, const char *question, int type, int u
                        .iov_len = sizeof(h),
                },
                {
-                       .iov_base = name_buffer,
+                       .iov_base = dns_buffer,
                },
                {
                        .iov_base = &q,
@@ -86,10 +87,10 @@ dns_send_question(struct interface *iface, const char *question, int type, int u
        int len;
 
        h.questions = cpu_to_be16(1);
-       q.class = cpu_to_be16(((unicast) ? (CLASS_UNICAST) : (0))  | 1);
+       q.class = cpu_to_be16((multicast ? 0 : CLASS_UNICAST) | 1);
        q.type = cpu_to_be16(type);
 
-       len = dn_comp(question, (void *) name_buffer, sizeof(name_buffer), NULL, NULL);
+       len = dn_comp(question, (void *) dns_buffer, sizeof(dns_buffer), NULL, NULL);
        if (len < 1)
                return;