- From: Kyle Kartchner <kylek@mycomputer.com>
- Date: Sun, 25 Jun 2000 15:18:58 -0600
- To: html-tidy@w3.org
Sorry, but I have syntax error in my code below where I opened an 'if' block
two curly braces on line 2892. Sorry about that.
Regards,
Kyle Kartchner
> Infinite loop fix for <noframes><frame></noframe>
>
> From: Kyle Kartchner (kylek@mycomputer.com)
> Date: Sun, Jun 25 2000
>
> * Previous message: Dave Raggett: "Re: XHTML and lower-casing HTML tags."
> * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> * Other mail archives: [this mailing list] [other W3C mailing lists]
> * Mail actions: [ respond to this message ] [ mail a new topic ]
>
> ------------------------------------------------------------------------
>
> Message-ID: <395674EC.EA220A75@mycomputer.com>
> Date: Sun, 25 Jun 2000 15:09:00 -0600
> From: Kyle Kartchner <kylek@mycomputer.com>
> To: html-tidy@w3.org
> Subject: Infinite loop fix for <noframes><frame></noframe>
>
> First off Dave, I want to commend your excellent organization of code,
> and structure. I'm very impressed with how thought out, and how nicely
> designed it is. I am coding a daemon that will use tidy's parser, and I
> found that your data structure was very easy to traverse, so I grabbed
> it.
>
> In being that my program is a daemon, I can't afford any infinite
> loops. In parsing a user's site I found an infinite loop that was
> caused by the parser.c ParseNoFrames() function. It would would cause a
> loop on the following HTML snippet:
>
> <noframes>
> <body bgcolor="#000000" text="#ffffff">
> <h1>Need a Frame Capable Browser!</h1>
> <frame src="title.html" name="p1" scrolling=no>
> </body>
> </noframes>
>
> This is obviously a poorly written piece of html code, and I'm sure a
> very rare occurance which is why I'm sure Dave did not find it. I'm not
> sure that this is how Dave would want to handle this code, but I have a
> fix (without the warning because I don't use them) below:
>
> Old code -
> 2890-
> 2891- if ((node->tag == tag_frame || node->tag == tag_frameset))
> 2892- {
> 2893- ReportWarning(lexer, noframes, node,
> MISSING_ENDTAG_BEFORE);
> 2894- TrimSpaces(lexer, noframes);
> 2895- UngetToken(lexer);
> 2896- return;
> 2897- }
> 2898-
>
> Fixed code -
> 2890-
> 2891- if (node->tag == tag_frameset)
> 2892- {
> 2893- {
> 2894- ReportWarning(lexer, noframes, node,
> MISSING_ENDTAG_BEFORE);
> 2895- TrimSpaces(lexer, noframes);
> 2896- UngetToken(lexer);
> 2897- return;
> 2898- }
> 2899-
> 2900- if (node->tag == tag_frame)
> 2901- {
> 2902- // Didn't worry about a warning message here, but it
> should have one. Just discard tag.
> 2903- // Kyle Kartchner
> 2904- FreeNode(node);
> 2905- continue;
> 2906- }
> 2907-
>
> Regards,
>
> --
> Kyle Kartchner
> Software Engineer
> -----------------------------
> MyComputer.com
> tools to power your eBusiness
>
> ------------------------------------------------------------------------
>
> * Previous message: Dave Raggett: "Re: XHTML and lower-casing HTML tags."
> * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> * Other mail archives: [this mailing list] [other W3C mailing lists]
> * Mail actions: [ respond to this message ] [ mail a new topic ]
--
Kyle Kartchner
Software Engineer
-----------------------------
MyComputer.com
tools to power your eBusiness
Received on Sunday, 25 June 2000 17:23:55 UTC