summaryrefslogtreecommitdiff
path: root/sys/src/cmd/mothra/rdhtml.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-07-20 14:32:50 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-07-20 14:32:50 +0200
commit98d5687ce47dc3cb014d5c3cb951e05dfe9e9da5 (patch)
tree60426055aa98f7570e2d3c5a856f53df7a83a849 /sys/src/cmd/mothra/rdhtml.c
parent3707561e047f8e7c9993e0ba5a3a3fb5b5f6a6fd (diff)
mothra: delayed screen updates to reduce flicker
Diffstat (limited to 'sys/src/cmd/mothra/rdhtml.c')
-rw-r--r--sys/src/cmd/mothra/rdhtml.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/src/cmd/mothra/rdhtml.c b/sys/src/cmd/mothra/rdhtml.c
index 7e663563b..0f0c90f1f 100644
--- a/sys/src/cmd/mothra/rdhtml.c
+++ b/sys/src/cmd/mothra/rdhtml.c
@@ -98,7 +98,7 @@ void pl_htmloutput(Hglob *g, int nsp, char *s, Field *field){
if(g->tp!=g->text && g->tp!=g->etext && g->tp[-1]!=' ')
*g->tp++=' ';
while(g->tp!=g->etext && *s) *g->tp++=*s++;
- if(g->state->tag==Tag_title) update(g->dst);
+ if(g->state->tag==Tag_title) g->dst->changed=1;
*g->tp='\0';
}
return;
@@ -149,7 +149,7 @@ void pl_htmloutput(Hglob *g, int nsp, char *s, Field *field){
g->state->link[0] || g->state->image[0], ap);
g->para=0;
g->linebrk=0;
- update(g->dst);
+ g->dst->changed=1;
}
/*
@@ -760,10 +760,11 @@ void plrdhtml(char *name, int fd, Www *dst){
if((str=strchr(str, '='))==0)
break;
str++;
+ pl_htmloutput(&g, 0, "[refresh: ", 0);
str=unquot(g.state->link, str, sizeof(g.state->link));
- pl_htmloutput(&g, 0, "refresh: ", 0);
pl_htmloutput(&g, 0, str, 0);
g.state->link[0]=0;
+ pl_htmloutput(&g, 0, "]", 0);
g.linebrk=1;
g.spacc=0;
break;
@@ -773,17 +774,18 @@ void plrdhtml(char *name, int fd, Www *dst){
case Tag_embed:
case Tag_frame:
case Tag_iframe:
+ snprint(buf, sizeof(buf), "[%s: ", tag[g.tag].name);
+ pl_htmloutput(&g, 0, buf, 0);
if(str=pl_getattr(g.attr, "src"))
nstrcpy(g.state->link, str, sizeof(g.state->link));
if(str=pl_getattr(g.attr, "name"))
nstrcpy(g.state->name, str, sizeof(g.state->name));
else
str = g.state->link;
- pl_htmloutput(&g, 0, tag[g.tag].name, 0);
- pl_htmloutput(&g, 0, ": ", 0);
pl_htmloutput(&g, 0, str, 0);
g.state->link[0]=0;
g.state->name[0]=0;
+ pl_htmloutput(&g, 0, "]", 0);
g.linebrk=1;
g.spacc=0;
break;
@@ -1092,7 +1094,6 @@ void plrdhtml(char *name, int fd, Www *dst){
htmlerror(g.name, g.lineno,
"missing </%s> at EOF", tag[g.state->tag].name);
*g.tp='\0';
- update(dst);
getpix(dst->text, dst);
finish(dst);
return;