enum
{
Bsize = 8*1024,
- Bungetsize = 4, /* space for ungetc */
+ Bungetsize = UTFmax+1, /* space for ungetc */
Bmagic = 0x314159,
Beof = -1,
Bbad = -2,
uchar* bbuf; /* pointer to beginning of buffer */
uchar* ebuf; /* pointer to end of buffer */
uchar* gbuf; /* pointer to good data in buf */
+ void (*errorf)(char *); /* called on error if not nil */
};
struct Biobuf
int Blinelen(Biobufhdr*);
vlong Boffset(Biobufhdr*);
Biobuf* Bopen(char*, int);
+Biobuf* Bfdopen(int, int);
int Bprint(Biobufhdr*, char*, ...);
int Bvprint(Biobufhdr*, char*, va_list);
int Bputc(Biobufhdr*, int);
int Bungetc(Biobufhdr*);
int Bungetrune(Biobufhdr*);
long Bwrite(Biobufhdr*, void*, long);
+void Blethal(Biobufhdr*, void(*)(char*));
+void Berror(Biobufhdr*, char*, ...);
#pragma varargck argpos Bprint 2
+#pragma varargck argpos Berror 2