12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /*
- * This file is part of the UCB release of Plan 9. It is subject to the license
- * terms in the LICENSE file found in the top-level directory of this
- * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
- * part of the UCB release of Plan 9, including this file, may be copied,
- * modified, propagated, or distributed except according to the terms contained
- * in the LICENSE file.
- */
- #include <u.h>
- #include <libc.h>
- #include <bio.h>
- struct bgetd
- {
- Biobufhdr* 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(Biobufhdr *bp, double *dp)
- {
- double d;
- struct bgetd b;
- b.b = bp;
- b.eof = 0;
- d = charstod(Bgetdf, &b);
- if(b.eof)
- return -1;
- Bungetc(bp);
- *dp = d;
- return 1;
- }
|