diff options
| author | rsc <devnull@localhost> | 2003-09-30 17:47:42 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2003-09-30 17:47:42 +0000 |
| commit | ed7c8e8d02c02bdbff1e88a6d8d1419f39af48ad (patch) | |
| tree | ebcd32d20b0df2584bce713fefa87620ecd1cce7 /src/libdraw/newwindow.c | |
| parent | b2cfc4e2e71d0f0a5113ddfbd93c8285cc4d74e4 (diff) | |
| download | plan9port-ed7c8e8d02c02bdbff1e88a6d8d1419f39af48ad.tar.gz plan9port-ed7c8e8d02c02bdbff1e88a6d8d1419f39af48ad.zip | |
Initial import.
Diffstat (limited to 'src/libdraw/newwindow.c')
| -rw-r--r-- | src/libdraw/newwindow.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/libdraw/newwindow.c b/src/libdraw/newwindow.c new file mode 100644 index 00000000..88784adf --- /dev/null +++ b/src/libdraw/newwindow.c @@ -0,0 +1,27 @@ +#include <u.h> +#include <libc.h> +#include <draw.h> + +/* Connect us to new window, if possible */ +int +newwindow(char *str) +{ + int fd; + char *wsys; + char buf[256]; + + wsys = getenv("wsys"); + if(wsys == nil) + return -1; + fd = open(wsys, ORDWR); + free(wsys); + if(fd < 0) + return -1; + rfork(RFNAMEG); + if(str) + snprint(buf, sizeof buf, "new %s", str); + else + strcpy(buf, "new"); + return mount(fd, -1, "/dev", MBEFORE, buf); +} + |
