aboutsummaryrefslogtreecommitdiff
path: root/src/base/bufio/getc.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/getc.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/getc.c')
-rw-r--r--src/base/bufio/getc.c45
1 files changed, 0 insertions, 45 deletions
diff --git a/src/base/bufio/getc.c b/src/base/bufio/getc.c
deleted file mode 100644
index 264e01d..0000000
--- a/src/base/bufio/getc.c
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "internal.h"
-
-int
-bio·getc(io·Header *io)
-{
- int i;
- intptr nr;
-
-loop:
- i = io->ilen;
- if(i != 0){
- io->ilen = i+1;
- return io->e[i];
- }
-
- if(io->state != io·BufRdr){
- if(io->state == io·BufEnd)
- io->state = io·BufRdr;
- return io·BufEof;
- }
-
- /*
- * get next buffer, try to keep io·BufUngets bytes
- * pre-catenated from the previous read to allow for ungets
- */
- mem·move(io->b-io·BufUngets, io->e-io·BufUngets, io·BufUngets);
- if(sys·read(io->fd, io->cap, io->b, &nr)){
- io->state = io·BufNil;
- return io·BufEof;
- }
- if(nr == 0){
- io->state = io·BufEnd;
- return io·BufEof;
- }
-
- if(nr < io->cap){
- mem·move(io->e-i-io·BufUngets, io->b-io·BufUngets, i+io·BufUngets);
- io->g = io->e-i;
- }
-
- io->ilen = -i;
- io->pos += +i;
-
- goto loop;
-}