summaryrefslogtreecommitdiff
path: root/src/libbio
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-09-13 13:11:55 +0200
committerOndřej Surý <ondrej@sury.org>2011-09-13 13:11:55 +0200
commit80f18fc933cf3f3e829c5455a1023d69f7b86e52 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/libbio
parent28592ee1ea1f5cdffcf85472f9de0285d928cf12 (diff)
downloadgolang-80f18fc933cf3f3e829c5455a1023d69f7b86e52.tar.gz
Imported Upstream version 60
Diffstat (limited to 'src/libbio')
-rw-r--r--src/libbio/Makefile51
-rw-r--r--src/libbio/bbuffered.c46
-rw-r--r--src/libbio/bfildes.c35
-rw-r--r--src/libbio/bflush.c59
-rw-r--r--src/libbio/bgetc.c79
-rw-r--r--src/libbio/bgetd.c62
-rw-r--r--src/libbio/bgetrune.c73
-rw-r--r--src/libbio/binit.c179
-rw-r--r--src/libbio/boffset.c51
-rw-r--r--src/libbio/bprint.c82
-rw-r--r--src/libbio/bputc.c46
-rw-r--r--src/libbio/bputrune.c49
-rw-r--r--src/libbio/brdline.c120
-rw-r--r--src/libbio/brdstr.c60
-rw-r--r--src/libbio/bread.c71
-rw-r--r--src/libbio/bseek.c93
-rw-r--r--src/libbio/bwrite.c64
17 files changed, 0 insertions, 1220 deletions
diff --git a/src/libbio/Makefile b/src/libbio/Makefile
deleted file mode 100644
index 4340b0eae..000000000
--- a/src/libbio/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-# Derived from http://code.google.com/p/inferno-os/source/browse/libbio/mkfile
-#
-# Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
-# Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-# Portions Copyright © 2009 The Go Authors. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-include ../Make.inc
-O:=$(HOST_O)
-
-LIB=libbio.a
-
-OFILES=\
- bbuffered.$O\
- bfildes.$O\
- bflush.$O\
- bgetc.$O\
- bgetrune.$O\
- bgetd.$O\
- binit.$O\
- boffset.$O\
- bprint.$O\
- bputc.$O\
- bputrune.$O\
- brdline.$O\
- brdstr.$O\
- bread.$O\
- bseek.$O\
- bwrite.$O\
-
-HFILES=\
- ../../include/bio.h
-
-include ../Make.clib
diff --git a/src/libbio/bbuffered.c b/src/libbio/bbuffered.c
deleted file mode 100644
index 2ddb29b77..000000000
--- a/src/libbio/bbuffered.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bbuffered.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-int
-Bbuffered(Biobuf *bp)
-{
- switch(bp->state) {
- case Bracteof:
- case Bractive:
- return -bp->icount;
-
- case Bwactive:
- return bp->bsize + bp->ocount;
-
- case Binactive:
- return 0;
- }
- fprint(2, "Bbuffered: unknown state %d\n", bp->state);
- return 0;
-}
diff --git a/src/libbio/bfildes.c b/src/libbio/bfildes.c
deleted file mode 100644
index aef1f70bb..000000000
--- a/src/libbio/bfildes.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bfildes.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-int
-Bfildes(Biobuf *bp)
-{
-
- return bp->fid;
-}
diff --git a/src/libbio/bflush.c b/src/libbio/bflush.c
deleted file mode 100644
index 8a071cb5c..000000000
--- a/src/libbio/bflush.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bflush.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-int
-Bflush(Biobuf *bp)
-{
- int n, c;
-
- switch(bp->state) {
- case Bwactive:
- n = bp->bsize+bp->ocount;
- if(n == 0)
- return 0;
- c = write(bp->fid, bp->bbuf, n);
- if(n == c) {
- bp->offset += n;
- bp->ocount = -bp->bsize;
- return 0;
- }
- bp->state = Binactive;
- bp->ocount = 0;
- break;
-
- case Bracteof:
- bp->state = Bractive;
-
- case Bractive:
- bp->icount = 0;
- bp->gbuf = bp->ebuf;
- return 0;
- }
- return Beof;
-}
diff --git a/src/libbio/bgetc.c b/src/libbio/bgetc.c
deleted file mode 100644
index 52ed241f9..000000000
--- a/src/libbio/bgetc.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bgetc.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-int
-Bgetc(Biobuf *bp)
-{
- int i;
-
-loop:
- i = bp->icount;
- if(i != 0) {
- bp->icount = i+1;
- return bp->ebuf[i];
- }
- if(bp->state != Bractive) {
- if(bp->state == Bracteof)
- bp->state = Bractive;
- return Beof;
- }
- /*
- * get next buffer, try to keep Bungetsize
- * characters pre-catenated from the previous
- * buffer to allow that many ungets.
- */
- memmove(bp->bbuf-Bungetsize, bp->ebuf-Bungetsize, Bungetsize);
- i = read(bp->fid, bp->bbuf, bp->bsize);
- bp->gbuf = bp->bbuf;
- if(i <= 0) {
- bp->state = Bracteof;
- if(i < 0)
- bp->state = Binactive;
- return Beof;
- }
- if(i < bp->bsize) {
- memmove(bp->ebuf-i-Bungetsize, bp->bbuf-Bungetsize, i+Bungetsize);
- bp->gbuf = bp->ebuf-i;
- }
- bp->icount = -i;
- bp->offset += i;
- goto loop;
-}
-
-int
-Bungetc(Biobuf *bp)
-{
-
- if(bp->state == Bracteof)
- bp->state = Bractive;
- if(bp->state != Bractive)
- return Beof;
- bp->icount--;
- return 1;
-}
diff --git a/src/libbio/bgetd.c b/src/libbio/bgetd.c
deleted file mode 100644
index cf76a755a..000000000
--- a/src/libbio/bgetd.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bgetd.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-struct bgetd
-{
- Biobuf* b;
- int eof;
-};
-
-static int
-Bgetdf(void *vp)
-{
- int c;
- struct bgetd *bg = vp;
-
- c = Bgetc(bg->b);
- if(c == Beof)
- bg->eof = 1;
- return c;
-}
-
-int
-Bgetd(Biobuf *bp, double *dp)
-{
- double d;
- struct bgetd b;
-
- b.b = bp;
- b.eof = 0;
- d = fmtcharstod(Bgetdf, &b);
- if(b.eof)
- return -1;
- Bungetc(bp);
- *dp = d;
- return 1;
-}
diff --git a/src/libbio/bgetrune.c b/src/libbio/bgetrune.c
deleted file mode 100644
index 1538f3ea7..000000000
--- a/src/libbio/bgetrune.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bgetrune.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-#include <utf.h>
-
-long
-Bgetrune(Biobuf *bp)
-{
- int c, i;
- Rune rune;
- char str[UTFmax];
-
- c = Bgetc(bp);
- if(c < Runeself) { /* one char */
- bp->runesize = 1;
- return c;
- }
- str[0] = c;
-
- for(i=1;;) {
- c = Bgetc(bp);
- if(c < 0)
- return c;
- str[i++] = c;
-
- if(fullrune(str, i)) {
- bp->runesize = chartorune(&rune, str);
- while(i > bp->runesize) {
- Bungetc(bp);
- i--;
- }
- return rune;
- }
- }
-}
-
-int
-Bungetrune(Biobuf *bp)
-{
-
- if(bp->state == Bracteof)
- bp->state = Bractive;
- if(bp->state != Bractive)
- return Beof;
- bp->icount -= bp->runesize;
- bp->runesize = 0;
- return 1;
-}
diff --git a/src/libbio/binit.c b/src/libbio/binit.c
deleted file mode 100644
index a7ade5081..000000000
--- a/src/libbio/binit.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/binit.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-enum
-{
- MAXBUFS = 20
-};
-
-static Biobuf* wbufs[MAXBUFS];
-static int atexitflag;
-
-static
-void
-batexit(void)
-{
- Biobuf *bp;
- int i;
-
- for(i=0; i<MAXBUFS; i++) {
- bp = wbufs[i];
- if(bp != 0) {
- wbufs[i] = 0;
- Bflush(bp);
- }
- }
-}
-
-static
-void
-deinstall(Biobuf *bp)
-{
- int i;
-
- for(i=0; i<MAXBUFS; i++)
- if(wbufs[i] == bp)
- wbufs[i] = 0;
-}
-
-static
-void
-install(Biobuf *bp)
-{
- int i;
-
- deinstall(bp);
- for(i=0; i<MAXBUFS; i++)
- if(wbufs[i] == 0) {
- wbufs[i] = bp;
- break;
- }
- if(atexitflag == 0) {
- atexitflag = 1;
- atexit(batexit);
- }
-}
-
-int
-Binits(Biobuf *bp, int f, int mode, unsigned char *p, int size)
-{
-
- p += Bungetsize; /* make room for Bungets */
- size -= Bungetsize;
-
- switch(mode&~(ORCLOSE|OTRUNC)) {
- default:
- fprint(2, "Bopen: unknown mode %d\n", mode);
- return Beof;
-
- case OREAD:
- bp->state = Bractive;
- bp->ocount = 0;
- break;
-
- case OWRITE:
- install(bp);
- bp->state = Bwactive;
- bp->ocount = -size;
- break;
- }
- bp->bbuf = p;
- bp->ebuf = p+size;
- bp->bsize = size;
- bp->icount = 0;
- bp->gbuf = bp->ebuf;
- bp->fid = f;
- bp->flag = 0;
- bp->rdline = 0;
- bp->offset = 0;
- bp->runesize = 0;
- return 0;
-}
-
-
-int
-Binit(Biobuf *bp, int f, int mode)
-{
- return Binits(bp, f, mode, bp->b, sizeof(bp->b));
-}
-
-Biobuf*
-Bfdopen(int f, int mode)
-{
- Biobuf *bp;
-
- bp = malloc(sizeof(Biobuf));
- if(bp == 0)
- return 0;
- Binits(bp, f, mode, bp->b, sizeof(bp->b));
- bp->flag = Bmagic;
- return bp;
-}
-
-Biobuf*
-Bopen(char *name, int mode)
-{
- Biobuf *bp;
- int f;
-
- switch(mode&~(ORCLOSE|OTRUNC)) {
- default:
- fprint(2, "Bopen: unknown mode %d\n", mode);
- return 0;
-
- case OREAD:
- f = open(name, OREAD);
- if(f < 0)
- return 0;
- break;
-
- case OWRITE:
- f = create(name, OWRITE|OTRUNC, 0666);
- if(f < 0)
- return 0;
- }
- bp = Bfdopen(f, mode);
- if(bp == 0)
- close(f);
- return bp;
-}
-
-int
-Bterm(Biobuf *bp)
-{
-
- deinstall(bp);
- Bflush(bp);
- if(bp->flag == Bmagic) {
- bp->flag = 0;
- close(bp->fid);
- free(bp);
- }
- return 0;
-}
diff --git a/src/libbio/boffset.c b/src/libbio/boffset.c
deleted file mode 100644
index 15dd609e1..000000000
--- a/src/libbio/boffset.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/boffset.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-vlong
-Boffset(Biobuf *bp)
-{
- vlong n;
-
- switch(bp->state) {
- default:
- fprint(2, "Boffset: unknown state %d\n", bp->state);
- n = Beof;
- break;
-
- case Bracteof:
- case Bractive:
- n = bp->offset + bp->icount;
- break;
-
- case Bwactive:
- n = bp->offset + (bp->bsize + bp->ocount);
- break;
- }
- return n;
-}
diff --git a/src/libbio/bprint.c b/src/libbio/bprint.c
deleted file mode 100644
index b5d3e9ece..000000000
--- a/src/libbio/bprint.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bprint.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
- Revisions Copyright © 2010 Google Inc. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-int
-Bprint(Biobuf *bp, char *fmt, ...)
-{
- int n;
- va_list arg;
-
- va_start(arg, fmt);
- n = Bvprint(bp, fmt, arg);
- va_end(arg);
- return n;
-}
-
-static int
-bflush(Fmt *f)
-{
- Biobuf *bp;
-
- if(f->stop == nil)
- return 0;
-
- bp = f->farg;
- bp->ocount = (char*)f->to - (char*)f->stop;
- if(Bflush(bp) < 0) {
- f->stop = nil;
- f->to = nil;
- return 0;
- }
- f->to = (char*)f->stop + bp->ocount;
-
- return 1;
-}
-
-int
-Bvprint(Biobuf *bp, char *fmt, va_list arg)
-{
- int n;
- Fmt f;
-
- memset(&f, 0, sizeof f);
- fmtlocaleinit(&f, nil, nil, nil);
- f.stop = bp->ebuf;
- f.to = (char*)f.stop + bp->ocount;
- f.flush = bflush;
- f.farg = bp;
-
- n = fmtvprint(&f, fmt, arg);
-
- if(f.stop != nil)
- bp->ocount = (char*)f.to - (char*)f.stop;
-
- return n;
-}
diff --git a/src/libbio/bputc.c b/src/libbio/bputc.c
deleted file mode 100644
index 4cdbe8f7a..000000000
--- a/src/libbio/bputc.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bputc.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-int
-Bputc(Biobuf *bp, int c)
-{
- int i;
-
- for(;;) {
- i = bp->ocount;
- if(i) {
- bp->ebuf[i++] = c;
- bp->ocount = i;
- return 0;
- }
- if(Bflush(bp) == Beof)
- break;
- }
- return Beof;
-}
diff --git a/src/libbio/bputrune.c b/src/libbio/bputrune.c
deleted file mode 100644
index e46f3c710..000000000
--- a/src/libbio/bputrune.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bputrune.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-#include <utf.h>
-
-int
-Bputrune(Biobuf *bp, long c)
-{
- Rune rune;
- char str[UTFmax];
- int n;
-
- rune = c;
- if(rune < Runeself) {
- Bputc(bp, rune);
- return 1;
- }
- n = runetochar(str, &rune);
- if(n == 0)
- return Bbad;
- if(Bwrite(bp, str, n) != n)
- return Beof;
- return n;
-}
diff --git a/src/libbio/brdline.c b/src/libbio/brdline.c
deleted file mode 100644
index a02bf106d..000000000
--- a/src/libbio/brdline.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/brdline.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-void*
-Brdline(Biobuf *bp, int delim)
-{
- char *ip, *ep;
- int i, j;
-
- i = -bp->icount;
- if(i == 0) {
- /*
- * eof or other error
- */
- if(bp->state != Bractive) {
- if(bp->state == Bracteof)
- bp->state = Bractive;
- bp->rdline = 0;
- bp->gbuf = bp->ebuf;
- return 0;
- }
- }
-
- /*
- * first try in remainder of buffer (gbuf doesn't change)
- */
- ip = (char*)bp->ebuf - i;
- ep = memchr(ip, delim, i);
- if(ep) {
- j = (ep - ip) + 1;
- bp->rdline = j;
- bp->icount += j;
- return ip;
- }
-
- /*
- * copy data to beginning of buffer
- */
- if(i < bp->bsize)
- memmove(bp->bbuf, ip, i);
- bp->gbuf = bp->bbuf;
-
- /*
- * append to buffer looking for the delim
- */
- ip = (char*)bp->bbuf + i;
- while(i < bp->bsize) {
- j = read(bp->fid, ip, bp->bsize-i);
- if(j <= 0) {
- /*
- * end of file with no delim
- */
- memmove(bp->ebuf-i, bp->bbuf, i);
- bp->rdline = i;
- bp->icount = -i;
- bp->gbuf = bp->ebuf-i;
- return 0;
- }
- bp->offset += j;
- i += j;
- ep = memchr(ip, delim, j);
- if(ep) {
- /*
- * found in new piece
- * copy back up and reset everything
- */
- ip = (char*)bp->ebuf - i;
- if(i < bp->bsize){
- memmove(ip, bp->bbuf, i);
- bp->gbuf = (unsigned char*)ip;
- }
- j = (ep - (char*)bp->bbuf) + 1;
- bp->rdline = j;
- bp->icount = j - i;
- return ip;
- }
- ip += j;
- }
-
- /*
- * full buffer without finding
- */
- bp->rdline = bp->bsize;
- bp->icount = -bp->bsize;
- bp->gbuf = bp->bbuf;
- return 0;
-}
-
-int
-Blinelen(Biobuf *bp)
-{
-
- return bp->rdline;
-}
diff --git a/src/libbio/brdstr.c b/src/libbio/brdstr.c
deleted file mode 100644
index 0398ab07b..000000000
--- a/src/libbio/brdstr.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- Copyright © 2009 The Go Authors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-char*
-Brdstr(Biobuf *bp, int delim, int nulldelim)
-{
- char *p, *q, *nq;
- int n, linelen;
-
- q = nil;
- n = 0;
- for(;;) {
- p = Brdline(bp, delim);
- linelen = Blinelen(bp);
- if(n == 0 && linelen == 0)
- return nil;
- nq = realloc(q, n+linelen+1);
- if(nq == nil) {
- free(q);
- return nil;
- }
- q = nq;
- if(p != nil) {
- memmove(q+n, p, linelen);
- n += linelen;
- if(nulldelim)
- q[n-1] = '\0';
- break;
- }
- if(linelen == 0)
- break;
- Bread(bp, q+n, linelen);
- n += linelen;
- }
- q[n] = '\0';
- return q;
-}
diff --git a/src/libbio/bread.c b/src/libbio/bread.c
deleted file mode 100644
index 5cf9a05c8..000000000
--- a/src/libbio/bread.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bread.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-long
-Bread(Biobuf *bp, void *ap, long count)
-{
- long c;
- unsigned char *p;
- int i, n, ic;
-
- p = ap;
- c = count;
- ic = bp->icount;
-
- while(c > 0) {
- n = -ic;
- if(n > c)
- n = c;
- if(n == 0) {
- if(bp->state != Bractive)
- break;
- i = read(bp->fid, bp->bbuf, bp->bsize);
- if(i <= 0) {
- bp->state = Bracteof;
- if(i < 0)
- bp->state = Binactive;
- break;
- }
- bp->gbuf = bp->bbuf;
- bp->offset += i;
- if(i < bp->bsize) {
- memmove(bp->ebuf-i, bp->bbuf, i);
- bp->gbuf = bp->ebuf-i;
- }
- ic = -i;
- continue;
- }
- memmove(p, bp->ebuf+ic, n);
- c -= n;
- ic += n;
- p += n;
- }
- bp->icount = ic;
- return count-c;
-}
diff --git a/src/libbio/bseek.c b/src/libbio/bseek.c
deleted file mode 100644
index 291498108..000000000
--- a/src/libbio/bseek.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bseek.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-vlong
-Bseek(Biobuf *bp, vlong offset, int base)
-{
- vlong n, d;
- int bufsz;
-
-#ifndef _WIN32
- if(sizeof(offset) != sizeof(off_t)) {
- fprint(2, "Bseek: libbio compiled with %d-byte offset\n", sizeof(off_t));
- abort();
- }
-#endif
-
- switch(bp->state) {
- default:
- fprint(2, "Bseek: unknown state %d\n", bp->state);
- return Beof;
-
- case Bracteof:
- bp->state = Bractive;
- bp->icount = 0;
- bp->gbuf = bp->ebuf;
-
- case Bractive:
- n = offset;
- if(base == 1) {
- n += Boffset(bp);
- base = 0;
- }
-
- /*
- * try to seek within buffer
- */
- if(base == 0) {
- d = n - Boffset(bp);
- bufsz = bp->ebuf - bp->gbuf;
- if(-bufsz <= d && d <= bufsz){
- bp->icount += d;
- if(d >= 0) {
- if(bp->icount <= 0)
- return n;
- } else {
- if(bp->ebuf - bp->gbuf >= -bp->icount)
- return n;
- }
- }
- }
-
- /*
- * reset the buffer
- */
- n = lseek(bp->fid, n, base);
- bp->icount = 0;
- bp->gbuf = bp->ebuf;
- break;
-
- case Bwactive:
- Bflush(bp);
- n = lseek(bp->fid, offset, base);
- break;
- }
- bp->offset = n;
- return n;
-}
diff --git a/src/libbio/bwrite.c b/src/libbio/bwrite.c
deleted file mode 100644
index daed161cb..000000000
--- a/src/libbio/bwrite.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-http://code.google.com/p/inferno-os/source/browse/libbio/bwrite.c
-
- Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
- Revisions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-long
-Bwrite(Biobuf *bp, void *ap, long count)
-{
- long c;
- unsigned char *p;
- int i, n, oc;
-
- p = ap;
- c = count;
- oc = bp->ocount;
-
- while(c > 0) {
- n = -oc;
- if(n > c)
- n = c;
- if(n == 0) {
- if(bp->state != Bwactive)
- return Beof;
- i = write(bp->fid, bp->bbuf, bp->bsize);
- if(i != bp->bsize) {
- bp->state = Binactive;
- return Beof;
- }
- bp->offset += i;
- oc = -bp->bsize;
- continue;
- }
- memmove(bp->ebuf+oc, p, n);
- oc += n;
- c -= n;
- p += n;
- }
- bp->ocount = oc;
- return count-c;
-}