diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2021-12-04 14:10:21 -0800 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2021-12-04 14:10:21 -0800 |
commit | 12e09f9f85ac48ff891adf92f3b2c9a5fea27273 (patch) | |
tree | 60051793885e9978dadf6672ef85cdda216676a2 /src/base/bufio/read.c | |
parent | b80a3d28ce42be4fdec451f74620b10ee75219dc (diff) |
Chore(REMOVE): finished deprecation of old io functions.
The old methods were simple wrappers of C standard library functions.
We've moved (painfully) over to a new interface that allows for files to
live on the stack. All users of the functionality are ported over.
Diffstat (limited to 'src/base/bufio/read.c')
-rw-r--r-- | src/base/bufio/read.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/base/bufio/read.c b/src/base/bufio/read.c deleted file mode 100644 index ad0275c..0000000 --- a/src/base/bufio/read.c +++ /dev/null @@ -1,54 +0,0 @@ -#include "internal.h" - -intptr -bio·read(io·Header *io, intptr len, void *buf) -{ - uchar *b; - intptr c0, c, nr, n, ic; - - b = buf; - c = len; - ic = io->ilen; // how many bytes we've read and not flushed - - while(c > 0){ - n = -ic; - if(n > c) - n = c; - if(n == 0){ - /* only continue if we are a file reader */ - if(io->state != io·BufRdr) - break; - - /* get more bytes */ - if(sys·read(io->fd, io->cap, io->b, &nr)){ - io->state = io·BufNil; - break; - } - - if(nr == 0){ - io->state = io·BufEnd; - break; - } - - /* shift bytes within buffer so they end at terminal */ - io->g = io->b; - io->pos += nr; - if(nr < io->cap){ - io->g = io->e-nr; - mem·move(io->g, io->b, nr); - } - ic -= nr; - continue; - } - /* move our read bytes into the caller's buffer */ - mem·move(b, io->e+ic, n); - c -= n; - ic += n; - b += n; - } - io->ilen = ic; - if(c == len && io->state == io·BufNil) - return -1; - - return len-c; -} |