src/line_proto.c
changeset 12 4147fae232d9
parent 11 14e79683c48c
child 13 ca16f3a8f3b7
--- a/src/line_proto.c	Sat Feb 28 17:39:37 2009 +0200
+++ b/src/line_proto.c	Sat Feb 28 18:48:10 2009 +0200
@@ -154,7 +154,7 @@
     size_t recv_offset = 0, peek_offset = 0, next_offset = 0;
     int ret;
 
-    // adjust offset from previous data
+    // adjust offset to beyond previous data (as will be moved next)
     recv_offset = lp->tail_len;
 
     // move trailing data from previous line to front of buffer
@@ -183,23 +183,16 @@
         assert(recv_offset < lp->buf_len);
         
         // otherwise, read more data
-        if ((ret = sock_stream_read(lp->sock, lp->buf + recv_offset, lp->buf_len - recv_offset)) < 0) {
-            // we can special-case EAGAIN, as it's expected
-            if (MATCH_ERROR(sock_stream_error(lp->sock), ERR_READ, EAGAIN)) {
-                // return a NULL *line_ptr
-                *line_ptr = NULL;
-                break;
+        if ((ret = sock_stream_read(lp->sock, lp->buf + recv_offset, lp->buf_len - recv_offset)) < 0)
+            // store and return NULL on errors
+            RETURN_SET_ERROR_INFO(&lp->err, sock_stream_error(lp->sock));
 
-            } else {
-                // store and return NULL on errors
-                RETURN_SET_ERROR_INFO(&lp->err, sock_stream_error(lp->sock));
-
-            }
+        // EAGAIN?
+        if (ret == 0) {
+            // return a NULL *line_ptr
+            *line_ptr = NULL;
+            break;
         }
-
-        // EOF?
-        if (ret == 0)
-            return SET_ERROR(&lp->err, ERR_READ_EOF);
         
         // update recv_offset
         recv_offset += ret;