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