- From: Larry W. Virden <lvirden@cas.org>
- Date: Tue, 15 Aug 2000 14:47:07 -0400 (EDT)
- To: <html-tidy@w3.org>
Here's the problem: (dbx 1) where [1] strlen(0x0, 0x0, 0x6f9b8, 0x7efefeff, 0x81010100, 0xef745b3c), at 0xef724734 [2] _doprnt(0x5375c, 0x0, 0x0, 0x0, 0xef7a3180, 0xef745b3c), at 0xef75a624 [3] vfprintf(0x6f9b8, 0x53740, 0xefffd3e4, 0xef7aaa64, 0x0, 0x0), at 0xef7638a0 =>[4] tidy_out(fp = 0x6f9b8, msg = 0x53740 " unknown attribute value "%s"", ...), line 33 in "localize.c" [5] ReportAttrError(lexer = 0x7ac10, node = 0x7ae50, attr = (nil), code = 4U), line 216 in "localize.c" [6] ParseAttrs(lexer = 0x7ac10, isempty = 0xefffd518), line 2802 in "lexer.c" [7] GetToken(lexer = 0x7ac10, mode = 1U), line 1808 in "lexer.c" [8] ParseBody(lexer = 0x7ac10, body = 0x7ae08, mode = 1U), line 2889 in "parser.c" [9] ParseTag(lexer = 0x7ac10, node = 0x7ae08, mode = 0), line 432 in "parser.c" [10] ParseHTML(lexer = 0x7ac10, html = 0x7ad30, mode = 0), line 3217 in "parser.c" [11] ParseDocument(lexer = 0x7ac10), line 3264 in "parser.c" [12] main(argc = 1, argv = 0xefffd7f0), line 956 in "tidy.c" (dbx 2) list 20,33 20 21 extern uint optionerrors; 22 23 /* 24 This routine is the single point via which 25 all output is written and as such is a good 26 way to interface Tidy to other code when 27 embedding Tidy in a GUI application. 28 */ 29 void tidy_out(FILE *fp, const char* msg, ...) 30 { 31 va_list args; 32 va_start(args, msg); 33 vfprintf(fp, msg, args); (dbx 3) print msg msg = 0x53740 " unknown attribute value "%s"" (dbx 4) print args args = 0xefffd3e4 (dbx 5) print *args *args = (void) (dbx 6) up Current function is ReportAttrError 216 tidy_out(lexer->errout, " unknown attribute value \"%s\"", attr); (dbx 7) list 200,216 200 { 201 tidy_out(lexer->errout, "Warning: "); 202 ReportTag(lexer, node); 203 tidy_out(lexer->errout, " attribute \"%s\" lacks value", attr); 204 } 205 else if (code == MISSING_IMAGEMAP) 206 { 207 tidy_out(lexer->errout, "Warning: "); 208 ReportTag(lexer, node); 209 tidy_out(lexer->errout, " should use client-side image map"); 210 lexer->badAccess |= MISSING_IMAGE_MAP; 211 } 212 else if (code == BAD_ATTRIBUTE_VALUE) 213 { 214 tidy_out(lexer->errout, "Warning: "); 215 ReportTag(lexer, node); 216 tidy_out(lexer->errout, " unknown attribute value \"%s\"", attr); (dbx 8) print code code = 4U (dbx 9) print attr attr = (nil) (dbx 10) list 175,200 175 176 /* keep quiet after 6 errors */ 177 if (lexer->errors > 6) 178 return; 179 180 if (ShowWarnings) 181 { 182 /* on end of file adjust reported position to end of input */ 183 if (code == UNEXPECTED_END_OF_FILE) 184 { 185 lexer->lines = lexer->in->curline; 186 lexer->columns = lexer->in->curcol; 187 } 188 189 ReportPosition(lexer); 190 191 if (code == UNKNOWN_ATTRIBUTE) 192 tidy_out(lexer->errout, "Warning: unknown attribute \"%s\"", attr); 193 else if (code == MISSING_ATTRIBUTE) 194 { 195 tidy_out(lexer->errout, "Warning: "); 196 ReportTag(lexer, node); 197 tidy_out(lexer->errout, " lacks \"%s\" attribute", attr); 198 } 199 else if (code == MISSING_ATTR_VALUE) 200 { (dbx 11) print lexer->errors lexer->errors = 0 (dbx 12) print ShowWarnings ShowWarnings = yes (dbx 13) list 150,175 150 151 if (ShowWarnings) 152 { 153 ReportPosition(lexer); 154 155 if (code == MISSING_SEMICOLON) 156 { 157 tidy_out(lexer->errout, "Warning: entity \"%s\" doesn't end in ';'", entity); 158 } 159 else if (code == UNKNOWN_ENTITY) 160 { 161 tidy_out(lexer->errout, "Warning: unescaped & or unknown entity \"%s\"", entity); 162 } 163 else if (code == UNESCAPED_AMPERSAND) 164 { 165 tidy_out(lexer->errout, "Warning: unescaped & which should be written as &"); 166 } 167 168 tidy_out(lexer->errout, "\n"); 169 } 170 } 171 172 void ReportAttrError(Lexer *lexer, Node *node, char *attr, uint code) 173 { 174 lexer->warnings++; 175 (dbx 14) where [1] strlen(0x0, 0x0, 0x6f9b8, 0x7efefeff, 0x81010100, 0xef745b3c), at 0xef724734 [2] _doprnt(0x5375c, 0x0, 0x0, 0x0, 0xef7a3180, 0xef745b3c), at 0xef75a624 [3] vfprintf(0x6f9b8, 0x53740, 0xefffd3e4, 0xef7aaa64, 0x0, 0x0), at 0xef7638a0 [4] tidy_out(fp = 0x6f9b8, msg = 0x53740 " unknown attribute value "%s"", ...), line 33 in "localize.c" =>[5] ReportAttrError(lexer = 0x7ac10, node = 0x7ae50, attr = (nil), code = 4U), line 216 in "localize.c" [6] ParseAttrs(lexer = 0x7ac10, isempty = 0xefffd518), line 2802 in "lexer.c" [7] GetToken(lexer = 0x7ac10, mode = 1U), line 1808 in "lexer.c" [8] ParseBody(lexer = 0x7ac10, body = 0x7ae08, mode = 1U), line 2889 in "parser.c" [9] ParseTag(lexer = 0x7ac10, node = 0x7ae08, mode = 0), line 432 in "parser.c" [10] ParseHTML(lexer = 0x7ac10, html = 0x7ad30, mode = 0), line 3217 in "parser.c" [11] ParseDocument(lexer = 0x7ac10), line 3264 in "parser.c" [12] main(argc = 1, argv = 0xefffd7f0), line 956 in "tidy.c" (dbx 15) up Current function is ParseAttrs 2802 ReportAttrError(lexer, lexer->token, value, BAD_ATTRIBUTE_VALUE); (dbx 16) list 2790,2802 2790 av->next = list; 2791 av->delim = delim; 2792 av->attribute = attribute; 2793 av->value = value; 2794 av->dict = FindAttribute(av); 2795 list = av; 2796 } 2797 else 2798 { 2799 av = NewAttribute(); 2800 av->attribute = attribute; 2801 av->value = value; 2802 ReportAttrError(lexer, lexer->token, value, BAD_ATTRIBUTE_VALUE); (dbx 17) print *av *av = { next = (nil) dict = (nil) asp = (nil) php = (nil) delim = 0 attribute = 0x7cf18 "lvirden@cas.org"" value = (nil) } : (dbx 19) print value value = (nil) (dbx 20) print list list = 0x7aea0 (dbx 21) print *list *list = { next = (nil) dict = 0x74048 asp = (nil) php = (nil) delim = 34 attribute = 0x7aa30 "href" value = 0x7aa40 "mailto" } (dbx 22) -- Never apply a Star Trek solution to a Babylon 5 problem. Larry W. Virden <mailto:lvirden@cas.org> <URL: http://www.purl.org/NET/lvirden/> Unless explicitly stated to the contrary, nothing in this posting should be construed as representing my employer's opinions. -><-
Received on Tuesday, 15 August 2000 14:47:44 UTC