Blame


1 9df487d7 2003-11-23 devnull #include <u.h>
2 9df487d7 2003-11-23 devnull #include <libc.h>
3 9df487d7 2003-11-23 devnull #include <bin.h>
4 9df487d7 2003-11-23 devnull #include <httpd.h>
5 9df487d7 2003-11-23 devnull
6 9df487d7 2003-11-23 devnull int
7 9df487d7 2003-11-23 devnull httpfmt(Fmt *f)
8 9df487d7 2003-11-23 devnull {
9 9df487d7 2003-11-23 devnull char buf[HMaxWord*2];
10 9df487d7 2003-11-23 devnull Rune r;
11 9df487d7 2003-11-23 devnull char *t, *s;
12 9df487d7 2003-11-23 devnull Htmlesc *l;
13 9df487d7 2003-11-23 devnull
14 9df487d7 2003-11-23 devnull s = va_arg(f->args, char*);
15 9df487d7 2003-11-23 devnull for(t = buf; t < buf + sizeof(buf) - 8; ){
16 9df487d7 2003-11-23 devnull s += chartorune(&r, s);
17 9df487d7 2003-11-23 devnull if(r == 0)
18 9df487d7 2003-11-23 devnull break;
19 9df487d7 2003-11-23 devnull for(l = htmlesc; l->name != nil; l++)
20 9df487d7 2003-11-23 devnull if(l->value == r)
21 9df487d7 2003-11-23 devnull break;
22 9df487d7 2003-11-23 devnull if(l->name != nil){
23 9df487d7 2003-11-23 devnull strcpy(t, l->name);
24 9df487d7 2003-11-23 devnull t += strlen(t);
25 9df487d7 2003-11-23 devnull }else
26 9df487d7 2003-11-23 devnull *t++ = r;
27 9df487d7 2003-11-23 devnull }
28 9df487d7 2003-11-23 devnull *t = 0;
29 9df487d7 2003-11-23 devnull return fmtstrcpy(f, buf);
30 9df487d7 2003-11-23 devnull }