diff options
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 54 |
1 files changed, 0 insertions, 54 deletions
@@ -52,57 +52,3 @@ rgb(ulong c) memfillcolor(i, c); return i; } - -static void -decproc(void *arg) -{ - char buf[32]; - Deco *d; - - d = arg; - - close(d->pfd[0]); - dup(d->infd, 0); - close(d->infd); - dup(d->pfd[1], 1); - close(d->pfd[1]); - - snprint(buf, sizeof buf, "/bin/%s", d->prog); - - execl(buf, d->prog, "-9t", nil); - threadexitsall("execl: %r"); -} - -static Memimage * -genreadimage(char *prog, char *path) -{ - Memimage *i; - Deco d; - - d.prog = prog; - - if(pipe(d.pfd) < 0) - sysfatal("pipe: %r"); - d.infd = open(path, OREAD); - if(d.infd < 0) - sysfatal("open: %r"); - procrfork(decproc, &d, mainstacksize, RFFDG|RFNAMEG|RFNOTEG); - close(d.pfd[1]); - i = readmemimage(d.pfd[0]); - close(d.pfd[0]); - close(d.infd); - - return i; -} - -Memimage * -readtga(char *path) -{ - return genreadimage("tga", path); -} - -Memimage * -readpng(char *path) -{ - return genreadimage("png", path); -} |