aboutsummaryrefslogtreecommitdiff
path: root/src/base/bufio/readuntil.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/readuntil.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/readuntil.c')
-rw-r--r--src/base/bufio/readuntil.c65
1 files changed, 0 insertions, 65 deletions
diff --git a/src/base/bufio/readuntil.c b/src/base/bufio/readuntil.c
deleted file mode 100644
index 1a0faaf..0000000
--- a/src/base/bufio/readuntil.c
+++ /dev/null
@@ -1,65 +0,0 @@
-#include "internal.h"
-
-void *
-bio·readuntil(io·Header *io, int delim)
-{
- char *b, *e;
- intptr i, j;
-
- i = -io->ilen;
- if(i==0){
- if(io->state != io·BufRdr){
- if(io->state == io·BufEnd)
- io->state = io·BufRdr;
- io->nread = 0;
- io->g = io->e;
- return nil;
- }
- }
-
- /* best case, we find it in the remaining bytes */
- b = (char*)io->e - i;
- if((e = mem·findc(b, i, delim)) != nil){
- j = (e - b)+1;
- io->nread = j;
- io->ilen += j;
- return b;
- }
- /* ok no luck, shift over the data and get more */
- if(i < io->cap)
- mem·move(io->b, b, i);
- io->g = io->b;
-
- /* write to the buffer while we search for delim */
- b = (char *)io->b + i;
- while(i < io->cap){
- if(sys·read(io->fd, io->cap-i, b, &j) || j == 0){
- mem·move(io->e-i, io->b, i);
- io->nread = +i;
- io->ilen = -i;
- io->g = io->e - i;
- return 0;
- }
- io->pos += j;
- i += j;
- e = mem·findc(b, j, delim);
- if(e!=nil){
- /* finally have a hit. reset the world */
- b = (char*)io->e - i;
- if(i < io->cap){
- mem·move(b, io->b, i);
- io->g = (uchar *)b;
- }
- j = (e - (char*)io->b) + 1;
- io->nread = j;
- io->ilen = j - i;
- return b;
- }
- b += j;
- }
-
- io->nread = +io->cap;
- io->ilen = -io->cap;
- io->g = io->b;
- return nil;
-}