[elinks-users] Re: ELinks 0.9.1 on Mac OS X 10.3.2

Jonas Fonseca fonseca at diku.dk
Fri Mar 19 00:25:09 PST 2004


Daniel E. Macks <dmacks at netspace.org> wrote Tue, Mar 16, 2004:
> Petr Baudis <pasky at ucw.cz> said:
> > Dawn Forty-Six <dawn46 at mailandnews.com> told me, that...
> >> I've installed elinks-0.9.1 via fink on Mac OS X 10.3.2, and have
> >> experienced odd frame-related behavior.  [...] Has anyone else
> >> encountered this behavior?

Interesting something similar just happened for me viewing www.nat.ku.dk
on a system that was just upgraded to FreeBSD version 5.X.

Could there be a connection between FreeBSD 5.X and Mac OS X? ;-P

> This is using elinks configured with --without-gpm --without-lua --wi
> thout-guile --without-x and either with or without openssl support,
> and no preferences or settings changes. Also happens in 0.4.2
> configured the same way. [...]

Closing down ELinks (configured with --enable-debug) I get

Memory leak by 16 bytes
List of blocks:
0x82abbe9:4 @ (null):0, alloc'd at frames.c:375
0x82aba69:4 @ (null):0, alloc'd at frames.c:375
0x82abb69:4 @ (null):0, alloc'd at frames.c:375
0x82aba29:4 @ (null):0, alloc'd at frames.c:375

I don't know if you would care to compile with debug too and see
if the same thing happens for you?

> Here's a test case:
>
> example1.html:
>   <html>
>       <frameset cols="*">   <!-- also 'rows' instead of 'cols'-->
>         <frame src="page.html">  <!-- any dinky html file -->
>         <frame src="page.html">
>       </frameset>
>   </html>
> 
> page.html:
>   <html><body>
>   testing
>   </body></html>
> 
> For me, this renders incorrectly, but renders correctly if the
> cols="*" attribute is removed from the <frameset>. If the missing
> <body></body> is added around the <frameset></frameset>, it renders
> incorrectly even if the cols attribute is removed.

Yes those '*' are badly handled .. even for row="<number>,*" on the page
I mentioned ... printing out the values_count that is used for
allocating gives this output

DEBUG MESSAGE at frames.c:375: values_count=0
DEBUG MESSAGE at frames.c:375: values_count=0
DEBUG MESSAGE at frames.c:375: values_count=0
DEBUG MESSAGE at frames.c:375: values_count=0

and gdb shows it coughs when passing the "*" part to strtoul().

Looking at the man page on FreeBSD

	If no conversion could be performed, 0 is returned and the
	global variable errno is set to EINVAL.
     
and on my Debian GNU/Linux

	The  implementation  may also set errno to EINVAL in case no
	conversion was performed (no digits seen, and 0 returned).

so the use of strtoul() is not portable. Time to spawn a stub?

-- 
Jonas Fonseca



More information about the elinks-users mailing list