]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/wikifs/wdir.c
Import sources from 2011-03-30 iso image
[plan9front.git] / sys / src / cmd / wikifs / wdir.c
1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include <String.h>
5 #include <thread.h>
6 #include "wiki.h"
7
8 /* open, create relative to wiki dir */
9 char *wikidir;
10
11 static char*
12 wname(char *s)
13 {
14         char *t;
15
16         t = emalloc(strlen(wikidir)+1+strlen(s)+1);
17         strcpy(t, wikidir);
18         strcat(t, "/");
19         strcat(t, s);
20         return t;
21 }
22
23 int
24 wopen(char *fn, int mode)
25 {
26         int rv;
27
28         fn = wname(fn);
29         rv = open(fn, mode);
30         free(fn);
31         return rv;
32 }
33
34 int
35 wcreate(char *fn, int mode, long perm)
36 {
37         int rv;
38
39         fn = wname(fn);
40         rv = create(fn, mode, perm);
41         free(fn);
42         return rv;
43 }
44
45 Biobuf*
46 wBopen(char *fn, int mode)
47 {
48         Biobuf *rv;
49
50         fn = wname(fn);
51         rv = Bopen(fn, mode);
52         free(fn);
53         return rv;
54 }
55
56 int
57 waccess(char *fn, int mode)
58 {
59         int rv;
60
61         fn = wname(fn);
62         rv = access(fn, mode);
63         free(fn);
64         return rv;
65 }
66
67 Dir*
68 wdirstat(char *fn)
69 {
70         Dir *d;
71
72         fn = wname(fn);
73         d = dirstat(fn);
74         free(fn);
75         return d;
76 }