#include <u.h> | |
#include <libc.h> | |
#include <bio.h> | |
#include <draw.h> | |
#include <html.h> | |
#include "dat.h" | |
char *url = ""; | |
int aflag; | |
int width = 70; | |
int defcharset; | |
void | |
usage(void) | |
{ | |
fprint(2, "usage: htmlfmt [-c charset] [-u URL] [-a] [-l length] [file ...]\n"); | |
exits("usage"); | |
} | |
void | |
main(int argc, char *argv[]) | |
{ | |
int i, fd; | |
char *p, *err, *file; | |
char errbuf[ERRMAX]; | |
ARGBEGIN{ | |
case 'a': | |
aflag++; | |
break; | |
case 'c': | |
p = smprint("<meta charset=\"%s\">", EARGF(usage())); | |
defcharset = charset(p); | |
free(p); | |
break; | |
case 'l': case 'w': | |
err = EARGF(usage()); | |
width = atoi(err); | |
if(width <= 0) | |
usage(); | |
break; | |
case 'u': | |
url = EARGF(usage()); | |
aflag++; | |
break; | |
default: | |
usage(); | |
}ARGEND | |
err = nil; | |
file = "<stdin>"; | |
if(argc == 0) | |
err = loadhtml(0); | |
else | |
for(i=0; err==nil && i<argc; i++){ | |
file = argv[i]; | |
fd = open(file, OREAD); | |
if(fd < 0){ | |
errstr(errbuf, sizeof errbuf); | |
err = errbuf; | |
break; | |
} | |
err = loadhtml(fd); | |
close(fd); | |
if(err) | |
break; | |
} | |
if(err) | |
fprint(2, "htmlfmt: processing %s: %s\n", file, err); | |
exits(err); | |
} |