diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-04-17 00:06:25 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-04-17 00:06:25 +0200 |
commit | 1f0ea6cd9671bb1078d0c302f777b34961f76eb0 (patch) | |
tree | f4e8d1462767de0c2e6d9555a35c7a1051bfe156 /sys | |
parent | 95d7fa1c0e54aff3d0405909f256c73b21665718 (diff) |
mothra: fix bogus strtolength
Diffstat (limited to 'sys')
-rw-r--r-- | sys/src/cmd/mothra/rdhtml.c | 18 |
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]) |