summaryrefslogtreecommitdiff
path: root/acme/wiki/src/main.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-04-14 17:27:24 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-04-14 17:27:24 +0000
commita150899221a5badff9740703b754f901b4f52762 (patch)
tree3d6911874b0ee763e40490d04f56fc09d89ccfa6 /acme/wiki/src/main.c
parent71cfa9c637386ebe00fc6d1bf6215db6657559f4 (diff)
downloadplan9front-a150899221a5badff9740703b754f901b4f52762.tar.xz
fill /acme
Diffstat (limited to 'acme/wiki/src/main.c')
-rw-r--r--acme/wiki/src/main.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/acme/wiki/src/main.c b/acme/wiki/src/main.c
new file mode 100644
index 000000000..f76cafff9
--- /dev/null
+++ b/acme/wiki/src/main.c
@@ -0,0 +1,60 @@
+#include "awiki.h"
+
+int debug;
+int mapfd;
+char *email;
+char *dir;
+
+void
+usage(void)
+{
+ fprint(2, "usage: Wiki [-e email] [dir]\n");
+ exits("usage");
+}
+
+void
+threadmain(int argc, char **argv)
+{
+ char *s;
+ Dir *d;
+
+ rfork(RFNAMEG);
+ ARGBEGIN{
+ case 'D':
+ debug++;
+ break;
+ case 'e':
+ email = EARGF(usage());
+ break;
+ default:
+ usage();
+ break;
+ }ARGEND
+
+ if(argc > 1)
+ usage();
+ if(argc == 1)
+ dir = argv[0];
+ else
+ dir = "/mnt/wiki";
+
+ if(chdir(dir) < 0){
+ fprint(2, "chdir(%s) fails: %r\n", dir);
+ threadexitsall(nil);
+ }
+
+ if((mapfd = open("map", ORDWR)) < 0){
+ fprint(2, "open(map): %r\n");
+ threadexitsall(nil);
+ }
+
+ if((d = dirstat("1")) == nil){
+ fprint(2, "dirstat(%s/1) fails: %r\n", dir);
+ threadexitsall(nil);
+ }
+ s = emalloc(strlen(d->name)+2);
+ strcpy(s, d->name);
+ strcat(s, "/");
+ wikiopen(s, nil);
+ threadexits(nil);
+}