Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include <bio.h>
4
#include <draw.h>
5
#include <html.h>
6
#include "dat.h"
7
 
8
char *url = "";
9
int aflag;
10
int width = 70;
11
int defcharset;
12
 
13
void
14
usage(void)
15
{
16
	fprint(2, "usage: htmlfmt [-c charset] [-u URL] [-a] [-l length] [file ...]\n");
17
	exits("usage");
18
}
19
 
20
void
21
main(int argc, char *argv[])
22
{
23
	int i, fd;
24
	char *p, *err, *file;
25
	char errbuf[ERRMAX];
26
 
27
	ARGBEGIN{
28
	case 'a':
29
		aflag++;
30
		break;
31
	case 'c':
32
		p = smprint("<meta charset=\"%s\">", EARGF(usage()));
33
		defcharset = charset(p);
34
		free(p);
35
		break;
36
	case 'l': case 'w':
37
		err = EARGF(usage());
38
		width = atoi(err);
39
		if(width <= 0)
40
			usage();
41
		break;
42
	case 'u':
43
		url = EARGF(usage());
44
		aflag++;
45
		break;
46
	default:
47
		usage();
48
	}ARGEND
49
 
50
	err = nil;
51
	file = "<stdin>";
52
	if(argc == 0)
53
		err = loadhtml(0);
54
	else
55
		for(i=0; err==nil && i<argc; i++){
56
			file = argv[i];
57
			fd = open(file, OREAD);
58
			if(fd < 0){
59
				errstr(errbuf, sizeof errbuf);
60
				err = errbuf;
61
				break;
62
			}
63
			err = loadhtml(fd);
64
			close(fd);
65
			if(err)
66
				break;
67
		}
68
	if(err)
69
		fprint(2, "htmlfmt: processing %s: %s\n", file, err);
70
	exits(err);
71
}