aboutsummaryrefslogtreecommitdiff
path: root/src/base/bufio/read.c
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-12-04 14:10:21 -0800
committerNicholas Noll <nbnoll@eml.cc>2021-12-04 14:10:21 -0800
commit12e09f9f85ac48ff891adf92f3b2c9a5fea27273 (patch)
tree60051793885e9978dadf6672ef85cdda216676a2 /src/base/bufio/read.c
parentb80a3d28ce42be4fdec451f74620b10ee75219dc (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.c54
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;
-}