summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-04-17 00:06:25 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-04-17 00:06:25 +0200
commit1f0ea6cd9671bb1078d0c302f777b34961f76eb0 (patch)
treef4e8d1462767de0c2e6d9555a35c7a1051bfe156 /sys
parent95d7fa1c0e54aff3d0405909f256c73b21665718 (diff)
mothra: fix bogus strtolength
Diffstat (limited to 'sys')
-rw-r--r--sys/src/cmd/mothra/rdhtml.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/sys/src/cmd/mothra/rdhtml.c b/sys/src/cmd/mothra/rdhtml.c
index 7f2693560..2aac941ea 100644
--- a/sys/src/cmd/mothra/rdhtml.c
+++ b/sys/src/cmd/mothra/rdhtml.c
@@ -72,19 +72,17 @@ enum{
HORIZ,
VERT,
};
-int strtolength(Hglob *g, int dir, char *str)
-{
+
+int strtolength(Hglob *g, int dir, char *str){
double f;
+ Point p;
f = atof(str);
- if(cistrstr(str, "px"))
- return floor(f);
if(cistrstr(str, "%"))
- return floor(f*((dir==HORIZ) ? Dx(g->dst->text->r) : Dy(g->dst->text->r))/100);
+ return 0;
if(cistrstr(str, "em")){
- Point z;
- z = stringsize(g->dst->text->font, "M");
- return floor(f*((dir==HORIZ) ? z.x : z.y));
+ p=stringsize(pl_whichfont(g->state->font, g->state->size)->font, "M");
+ return floor(f*((dir==HORIZ) ? p.x : p.y));
}
return floor(f);
}
@@ -692,9 +690,9 @@ void plrdhtml(char *name, int fd, Www *dst){
nstrcpy(g.state->image, str, sizeof(g.state->image));
g.state->ismap=pl_hasattr(g.attr, "ismap");
if(str=pl_getattr(g.attr, "width"))
- g.state->width = strtolength(&g, HORIZ, str);
+ g.state->width=strtolength(&g, HORIZ, str);
if(str=pl_getattr(g.attr, "height"))
- g.state->height = strtolength(&g, VERT, str);
+ g.state->height=strtolength(&g, VERT, str);
str=pl_getattr(g.attr, "alt");
if(str==0){
if(g.state->image[0])