chiark / gitweb /
New array adjustment macros for unsigned arguments.
[mLib] / lbuf.c
diff --git a/lbuf.c b/lbuf.c
index b81136f74393f17a50db766f3346457ad3c43abd..118250d43f40c3d7d9b93c851d7c0dfa78e22af6 100644 (file)
--- a/lbuf.c
+++ b/lbuf.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: lbuf.c,v 1.1 1999/05/14 21:01:14 mdw Exp $
+ * $Id: lbuf.c,v 1.3 1999/05/22 13:38:50 mdw Exp $
  *
  * Block-to-line buffering
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: lbuf.c,v $
+ * Revision 1.3  1999/05/22 13:38:50  mdw
+ * Fix bug which discarded initial portions of incomplete lines.
+ *
+ * Revision 1.2  1999/05/17 20:36:08  mdw
+ * Make the magical constants for the buffer flags uppercase.
+ *
  * Revision 1.1  1999/05/14 21:01:14  mdw
  * Integrated `select' handling bits from the background resolver project.
  *
@@ -82,7 +88,7 @@ void lbuf_flush(lbuf *b, char *p, size_t len)
     cr = 0;
     len = b->len;
   } else
-    cr = b->f & lbuf_cr;
+    cr = b->f & LBUF_CR;
 
   l = p + len;
 
@@ -132,7 +138,7 @@ void lbuf_flush(lbuf *b, char *p, size_t len)
       else
        *q = 0;
       b->func(base, b->p);
-      if (!(b->f & lbuf_enable)) {
+      if (!(b->f & LBUF_ENABLE)) {
        base = q + 1;
        break;
       }
@@ -152,9 +158,9 @@ void lbuf_flush(lbuf *b, char *p, size_t len)
       memmove(b->buf, base, len);
     b->len = len;
     if (cr)
-      b->f |= lbuf_cr;
+      b->f |= LBUF_CR;
     else
-      b->f &= ~lbuf_cr;
+      b->f &= ~LBUF_CR;
   }
 }
 
@@ -176,7 +182,7 @@ void lbuf_close(lbuf *b)
     b->buf[b->len] = 0;
     b->func(b->buf, b->p);
   }
-  if (b->f & lbuf_enable)
+  if (b->f & LBUF_ENABLE)
     b->func(0, b->p);
 }
 
@@ -204,7 +210,7 @@ size_t lbuf_free(lbuf *b, char **p)
    * reason this routine exists.
    */
 
-  if (b->len == 0 || b->len == sizeof(b->buf)) {
+  if (b->len != 0 && b->len != sizeof(b->buf)) {
     *p = b->buf + b->len;
     return (sizeof(b->buf) - b->len);
   } else {
@@ -263,7 +269,7 @@ void lbuf_init(lbuf *b,
   b->func = func;
   b->p = p;
   b->len = 0;
-  b->f = lbuf_enable;
+  b->f = LBUF_ENABLE;
 }
 
 /*----- That's all, folks -------------------------------------------------*/