1 76193d7c 2003-09-30 devnull #include <u.h>
2 76193d7c 2003-09-30 devnull #include <libc.h>
3 76193d7c 2003-09-30 devnull #include <draw.h>
6 76193d7c 2003-09-30 devnull openfont(Display *d, char *name)
8 76193d7c 2003-09-30 devnull Font *fnt;
9 76193d7c 2003-09-30 devnull int fd, i, n;
10 76193d7c 2003-09-30 devnull char *buf;
12 76193d7c 2003-09-30 devnull fd = open(name, OREAD);
13 76193d7c 2003-09-30 devnull if(fd < 0)
14 76193d7c 2003-09-30 devnull return 0;
16 76193d7c 2003-09-30 devnull n = flength(fd);
17 76193d7c 2003-09-30 devnull buf = malloc(n+1);
18 76193d7c 2003-09-30 devnull if(buf == 0){
19 76193d7c 2003-09-30 devnull close(fd);
20 76193d7c 2003-09-30 devnull return 0;
22 76193d7c 2003-09-30 devnull buf[n] = 0;
23 76193d7c 2003-09-30 devnull i = read(fd, buf, n);
24 76193d7c 2003-09-30 devnull close(fd);
25 76193d7c 2003-09-30 devnull if(i != n){
26 76193d7c 2003-09-30 devnull free(buf);
27 76193d7c 2003-09-30 devnull return 0;
29 76193d7c 2003-09-30 devnull fnt = buildfont(d, buf, name);
30 76193d7c 2003-09-30 devnull free(buf);
31 76193d7c 2003-09-30 devnull return fnt;