]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/libbio/bgetc.c
strndup: don't assume buffer is terminated
[plan9front.git] / sys / src / libbio / bgetc.c
old mode 100755 (executable)
new mode 100644 (file)
index 1119c45..c8f7163
@@ -24,12 +24,14 @@ loop:
         * buffer to allow that many ungets.
         */
        memmove(bp->bbuf-Bungetsize, bp->ebuf-Bungetsize, Bungetsize);
-       i = read(bp->fid, bp->bbuf, bp->bsize);
+       i = bp->iof(bp, bp->bbuf, bp->bsize);
        bp->gbuf = bp->bbuf;
        if(i <= 0) {
                bp->state = Bracteof;
-               if(i < 0)
+               if(i < 0) {
                        bp->state = Binactive;
+                       Berror(bp, "read error: %r");
+               }
                return Beof;
        }
        if(i < bp->bsize) {