]> git.meshlink.io Git - catta/blobdiff - avahi-core/netlink.c
* Add custom user-specific configure flags to bootstrap.sh
[catta] / avahi-core / netlink.c
index c5afde90df5b1b15978993f0e3ca68bf17543293..11961b764f866b795a4d4e3fc2fee8865090c99f 100644 (file)
@@ -56,10 +56,10 @@ int avahi_netlink_work(AvahiNetlink *nl, int block) {
             if ((bytes = recv(nl->fd, nl->buffer, nl->buffer_length, block ? 0 : MSG_DONTWAIT)) < 0) {
 
                 if (errno == EAGAIN || errno == EINTR)
-                    return 1;
+                    return 0;
                 
                 avahi_log_error(__FILE__": recv() failed: %s", strerror(errno));
-                return 0;
+                return -1;
             }
 
             break;
@@ -71,7 +71,7 @@ int avahi_netlink_work(AvahiNetlink *nl, int block) {
             for (; bytes > 0; p = NLMSG_NEXT(p, bytes)) {
                 if (!NLMSG_OK(p, (size_t) bytes)) {
                     avahi_log_warn(__FILE__": packet truncated");
-                    return 0;
+                    return -1;
                 }
 
                 nl->callback(nl, p, nl->userdata);
@@ -145,9 +145,7 @@ fail:
         close(fd);
 
     if (nl) {
-        if (nl->buffer)
-            avahi_free(nl);
-        
+        avahi_free(nl->buffer);
         avahi_free(nl);
     }
 
@@ -175,7 +173,7 @@ int avahi_netlink_send(AvahiNetlink *nl, struct nlmsghdr *m, unsigned *ret_seq)
     m->nlmsg_flags |= NLM_F_ACK;
 
     if (send(nl->fd, m, m->nlmsg_len, 0) < 0) {
-        avahi_log_error(__FILE__": send(): %s\n", strerror(errno));
+        avahi_log_error(__FILE__": send(): %s", strerror(errno));
         return -1;
     }