xref: /plan9/sys/src/cmd/wikifs/testwrite.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du Colombier #include <u.h>
2*9a747e4fSDavid du Colombier #include <libc.h>
3*9a747e4fSDavid du Colombier #include <bio.h>
4*9a747e4fSDavid du Colombier #include <String.h>
5*9a747e4fSDavid du Colombier #include <thread.h>
6*9a747e4fSDavid du Colombier #include "wiki.h"
7*9a747e4fSDavid du Colombier 
8*9a747e4fSDavid du Colombier char *wikidir = ".";
9*9a747e4fSDavid du Colombier 
10*9a747e4fSDavid du Colombier void
usage(void)11*9a747e4fSDavid du Colombier usage(void)
12*9a747e4fSDavid du Colombier {
13*9a747e4fSDavid du Colombier 	fprint(2, "usage: testwrite [-d dir] wikifile n\n");
14*9a747e4fSDavid du Colombier 	exits("usage");
15*9a747e4fSDavid du Colombier }
16*9a747e4fSDavid du Colombier 
17*9a747e4fSDavid du Colombier void
main(int argc,char ** argv)18*9a747e4fSDavid du Colombier main(int argc, char **argv)
19*9a747e4fSDavid du Colombier {
20*9a747e4fSDavid du Colombier 	ulong t;
21*9a747e4fSDavid du Colombier 	int i;
22*9a747e4fSDavid du Colombier 	Biobuf *b;
23*9a747e4fSDavid du Colombier 	String *h;
24*9a747e4fSDavid du Colombier 	Whist *doc;
25*9a747e4fSDavid du Colombier 	char tmp[20];
26*9a747e4fSDavid du Colombier 
27*9a747e4fSDavid du Colombier 	t = 0;
28*9a747e4fSDavid du Colombier 	ARGBEGIN{
29*9a747e4fSDavid du Colombier 	case 't':
30*9a747e4fSDavid du Colombier 		t = strtoul(EARGF(usage()), 0, 0);
31*9a747e4fSDavid du Colombier 		break;
32*9a747e4fSDavid du Colombier 	default:
33*9a747e4fSDavid du Colombier 		usage();
34*9a747e4fSDavid du Colombier 	}ARGEND
35*9a747e4fSDavid du Colombier 
36*9a747e4fSDavid du Colombier 	if(argc != 2)
37*9a747e4fSDavid du Colombier 		usage();
38*9a747e4fSDavid du Colombier 
39*9a747e4fSDavid du Colombier 	if((b = Bopen(argv[0], OREAD)) == nil)
40*9a747e4fSDavid du Colombier 		sysfatal("Bopen: %r");
41*9a747e4fSDavid du Colombier 
42*9a747e4fSDavid du Colombier 	if((doc = Brdwhist(b)) == nil)
43*9a747e4fSDavid du Colombier 		sysfatal("Brdwtxt: %r");
44*9a747e4fSDavid du Colombier 
45*9a747e4fSDavid du Colombier 	sprint(tmp, "D%lud\n", time(0));
46*9a747e4fSDavid du Colombier 	if((h = pagetext(s_copy(tmp), (doc->doc+doc->ndoc-1)->wtxt, 1))==nil)
47*9a747e4fSDavid du Colombier 		sysfatal("wiki2text: %r");
48*9a747e4fSDavid du Colombier 
49*9a747e4fSDavid du Colombier 	if(writepage(atoi(argv[1]), t, h, doc->title) <0)
50*9a747e4fSDavid du Colombier 		sysfatal("writepage: %r");
51*9a747e4fSDavid du Colombier 	exits(0);
52*9a747e4fSDavid du Colombier }
53