Blame


1 b2cfc4e2 2003-09-30 devnull #include "lib9.h"
2 b2cfc4e2 2003-09-30 devnull #include <bio.h>
3 b2cfc4e2 2003-09-30 devnull
4 b2cfc4e2 2003-09-30 devnull struct bgetd
5 b2cfc4e2 2003-09-30 devnull {
6 b2cfc4e2 2003-09-30 devnull Biobuf* b;
7 b2cfc4e2 2003-09-30 devnull int eof;
8 b2cfc4e2 2003-09-30 devnull };
9 b2cfc4e2 2003-09-30 devnull
10 b2cfc4e2 2003-09-30 devnull static int
11 b2cfc4e2 2003-09-30 devnull Bgetdf(void *vp)
12 b2cfc4e2 2003-09-30 devnull {
13 b2cfc4e2 2003-09-30 devnull int c;
14 b2cfc4e2 2003-09-30 devnull struct bgetd *bg = vp;
15 b2cfc4e2 2003-09-30 devnull
16 b2cfc4e2 2003-09-30 devnull c = Bgetc(bg->b);
17 b2cfc4e2 2003-09-30 devnull if(c == Beof)
18 b2cfc4e2 2003-09-30 devnull bg->eof = 1;
19 b2cfc4e2 2003-09-30 devnull return c;
20 b2cfc4e2 2003-09-30 devnull }
21 b2cfc4e2 2003-09-30 devnull
22 b2cfc4e2 2003-09-30 devnull int
23 b2cfc4e2 2003-09-30 devnull Bgetd(Biobuf *bp, double *dp)
24 b2cfc4e2 2003-09-30 devnull {
25 b2cfc4e2 2003-09-30 devnull double d;
26 b2cfc4e2 2003-09-30 devnull struct bgetd b;
27 b2cfc4e2 2003-09-30 devnull
28 b2cfc4e2 2003-09-30 devnull b.b = bp;
29 b2cfc4e2 2003-09-30 devnull b.eof = 0;
30 b2cfc4e2 2003-09-30 devnull d = fmtcharstod(Bgetdf, &b);
31 b2cfc4e2 2003-09-30 devnull if(b.eof)
32 b2cfc4e2 2003-09-30 devnull return -1;
33 b2cfc4e2 2003-09-30 devnull Bungetc(bp);
34 b2cfc4e2 2003-09-30 devnull *dp = d;
35 b2cfc4e2 2003-09-30 devnull return 1;
36 b2cfc4e2 2003-09-30 devnull }