Blob


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