]> arthur.barton.de Git - netatalk.git/commitdiff
Return -1 from readt on read or select error and 0 bytes read
authorFrank Lahm <franklahm@googlemail.com>
Tue, 16 Nov 2010 12:37:30 +0000 (13:37 +0100)
committerFrank Lahm <franklahm@googlemail.com>
Tue, 16 Nov 2010 12:37:30 +0000 (13:37 +0100)
libatalk/cnid/dbd/cnid_dbd.c
libatalk/util/socket.c

index 7098a49bf51a52337c30aa54656189164363d55a..6cc5edfc7a6a2cc78cb05c8412ac1474adca3abe 100644 (file)
@@ -332,7 +332,7 @@ static int dbd_rpc(CNID_private *db, struct cnid_dbd_rqst *rqst, struct cnid_dbd
 
     if (ret != sizeof(struct cnid_dbd_rply)) {
         LOG(log_error, logtype_cnid, "dbd_rpc: Error reading header from fd (db_dir %s): %s",
-            db->db_dir, ret == -1?strerror(errno):"closed");
+            db->db_dir, ret == -1 ? strerror(errno) : "closed");
         rply->name = nametmp;
         return -1;
     }
index 543f38036f40d00928ab434e34ab08e08d7b49d2..96472baec78302486f0c72b0d14e807e2a4b418d 100644 (file)
@@ -158,6 +158,9 @@ exit:
             return -1;
     }
 
+    if (len == -1 && stored == 0)
+        /* last read or select got an error and we haven't got yet anything => return -1*/
+        return -1;
     return stored;
 }