]> arthur.barton.de Git - netatalk.git/blobdiff - libevent/sample/dns-example.c
Merge product-2-2
[netatalk.git] / libevent / sample / dns-example.c
index f2c1e020a0072ae76cda95ed5a215adb77102fb6..f97a0c6bab31833a5240afe093c5a1229ba52d24 100644 (file)
@@ -165,6 +165,13 @@ main(int c, char **v) {
                ++idx;
        }
 
+#ifdef WIN32
+       {
+               WSADATA WSAData;
+               WSAStartup(0x101, &WSAData);
+       }
+#endif
+
        event_base = event_base_new();
        evdns_base = evdns_base_new(event_base, 0);
        evdns_set_log_fn(logfn);
@@ -173,6 +180,10 @@ main(int c, char **v) {
                evutil_socket_t sock;
                struct sockaddr_in my_addr;
                sock = socket(PF_INET, SOCK_DGRAM, 0);
+               if (sock == -1) {
+                       perror("socket");
+                       exit(1);
+               }
                evutil_make_socket_nonblocking(sock);
                my_addr.sin_family = AF_INET;
                my_addr.sin_port = htons(10053);
@@ -184,12 +195,17 @@ main(int c, char **v) {
                evdns_add_server_port_with_base(event_base, sock, 0, evdns_server_callback, NULL);
        }
        if (idx < c) {
+               int res;
 #ifdef WIN32
-               evdns_base_config_windows_nameservers(evdns_base);
+               res = evdns_base_config_windows_nameservers(evdns_base);
 #else
-               evdns_base_resolv_conf_parse(evdns_base, DNS_OPTION_NAMESERVERS,
+               res = evdns_base_resolv_conf_parse(evdns_base, DNS_OPTION_NAMESERVERS,
                    "/etc/resolv.conf");
 #endif
+               if (res < 0) {
+                       fprintf(stderr, "Couldn't configure nameservers");
+                       return 1;
+               }
        }
 
        printf("EVUTIL_AI_CANONNAME in example = %d\n", EVUTIL_AI_CANONNAME);