@@ -271,11 +271,8 @@ def goahead(self, end):
271
271
j -= len (suffix )
272
272
break
273
273
self .handle_comment (rawdata [i + 4 :j ])
274
- elif startswith ("<![CDATA[" , i ):
275
- if self ._support_cdata :
276
- self .unknown_decl (rawdata [i + 3 :])
277
- else :
278
- self .handle_comment (rawdata [i + 1 :])
274
+ elif startswith ("<![CDATA[" , i ) and self ._support_cdata :
275
+ self .unknown_decl (rawdata [i + 3 :])
279
276
elif rawdata [i :i + 9 ].lower () == '<!doctype' :
280
277
self .handle_decl (rawdata [i + 2 :])
281
278
elif startswith ("<!" , i ):
@@ -350,15 +347,12 @@ def parse_html_declaration(self, i):
350
347
if rawdata [i :i + 4 ] == '<!--' :
351
348
# this case is actually already handled in goahead()
352
349
return self .parse_comment (i )
353
- elif rawdata [i :i + 9 ] == '<![CDATA[' :
354
- if self ._support_cdata :
355
- j = rawdata .find (']]>' , i + 9 )
356
- if j < 0 :
357
- return - 1
358
- self .unknown_decl (rawdata [i + 3 : j ])
359
- return j + 3
360
- else :
361
- return self .parse_bogus_comment (i )
350
+ elif rawdata [i :i + 9 ] == '<![CDATA[' and self ._support_cdata :
351
+ j = rawdata .find (']]>' , i + 9 )
352
+ if j < 0 :
353
+ return - 1
354
+ self .unknown_decl (rawdata [i + 3 : j ])
355
+ return j + 3
362
356
elif rawdata [i :i + 9 ].lower () == '<!doctype' :
363
357
# find the closing >
364
358
gtpos = rawdata .find ('>' , i + 9 )
0 commit comments