commit 986b36bccd134726eea42f2cfabff2943d729ac4 from: rsc date: Sun Nov 23 18:14:35 2003 UTC make -> mk. add Bfdopen. commit - f365e600d41badc64b7a13ba385eb876d381abaa commit + 986b36bccd134726eea42f2cfabff2943d729ac4 blob - fda598ac23afb9bc730a56e8c1708c801cc5328e blob + 600f0948939a08905f275d40bebc91cb4db6a7f4 --- include/bio.h +++ include/bio.h @@ -55,6 +55,7 @@ struct Biobuf (bp)->fid int Bbuffered(Biobuf*); +Biobuf* Bfdopen(int, int); int Bfildes(Biobuf*); int Bflush(Biobuf*); int Bgetc(Biobuf*); blob - f404f2566e56268dba43006da61a7b17fb357f1b (mode 644) blob + /dev/null --- src/libbio/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -PLAN9=../.. -include $(PLAN9)/src/Makehdr - -LIB=libbio.a - -OFILES=\ - bbuffered.$O\ - bfildes.$O\ - bflush.$O\ - bgetc.$O\ - bgetd.$O\ - binit.$O\ - boffset.$O\ - bprint.$O\ - bputc.$O\ - brdline.$O\ - brdstr.$O\ - bread.$O\ - bseek.$O\ - bwrite.$O\ - bgetrune.$O\ - bputrune.$O\ - -HFILES=\ - $(PLAN9)/include/bio.h\ - -include $(PLAN9)/src/Makesyslib - -bcat: bcat.$O $(LIB) - $(CC) -o bcat bcat.$O -L$(PLAN9)/lib -lbio -lfmt -lutf - blob - d76168b7fdba8169c16f8c1c375e3c1b9a14dece blob + 33bf581286e1e9d787c0d38e50f40e95b41910ed --- src/libbio/binit.c +++ src/libbio/binit.c @@ -98,6 +98,19 @@ Binit(Biobuf *bp, int f, int mode) } 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; @@ -119,11 +132,9 @@ Bopen(char *name, int mode) if(f < 0) return 0; } - bp = malloc(sizeof(Biobuf)); + bp = Bfdopen(f, mode); if(bp == 0) - return 0; - Binits(bp, f, mode, bp->b, sizeof(bp->b)); - bp->flag = Bmagic; + close(f); return bp; } blob - /dev/null blob + 2c64b257214d8305b7d1820c557c0e802c0ac940 (mode 644) --- /dev/null +++ src/libbio/mkfile @@ -0,0 +1,31 @@ +PLAN9=../.. +<$PLAN9/src/mkhdr + +LIB=libbio.a + +OFILES=\ + bbuffered.$O\ + bfildes.$O\ + bflush.$O\ + bgetc.$O\ + bgetd.$O\ + binit.$O\ + boffset.$O\ + bprint.$O\ + bputc.$O\ + brdline.$O\ + brdstr.$O\ + bread.$O\ + bseek.$O\ + bwrite.$O\ + bgetrune.$O\ + bputrune.$O\ + +HFILES=\ + $PLAN9/include/bio.h\ + +<$PLAN9/src/mksyslib + +bcat: bcat.$O $LIB + $CC -o bcat bcat.$O -L$PLAN9/lib -lbio -lfmt -lutf +