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 }