From 86c843138c72faf8aa37e0eaa2e2f7ea71a96d13 Mon Sep 17 00:00:00 2001 From: dlichteblau Date: Sun, 27 Nov 2005 12:13:50 +0000 Subject: [PATCH] eof in cdata section pruefen --- XMLCONF | 25 +++++-------------------- xml/xml-parse.lisp | 6 ++++++ 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/XMLCONF b/XMLCONF index bf589fb..14e20a3 100644 --- a/XMLCONF +++ b/XMLCONF @@ -14,10 +14,7 @@ xmltest/not-wf/sa/013.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/014.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/015.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/016.xml [not validating:] not-wf [validating:] not-wf -xmltest/not-wf/sa/017.xml [not validating:] FAILED: - The value :EOF is not of type NUMBER. -[ - CDATA sections need a terminating ']]>'. ] +xmltest/not-wf/sa/017.xml [not validating:] not-wf [validating:] invalid xmltest/not-wf/sa/018.xml [not validating:] not-wf [validating:] invalid xmltest/not-wf/sa/019.xml [not validating:] not-wf [validating:] invalid xmltest/not-wf/sa/020.xml [not validating:] not-wf [validating:] not-wf @@ -274,21 +271,14 @@ xmltest/not-wf/sa/171.xml [not validating:] FAILED: Character FFFF is not legal anywhere in an XML document. ] xmltest/not-wf/sa/172.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/173.xml [not validating:] not-wf [validating:] not-wf -xmltest/not-wf/sa/174.xml [not validating:] FAILED: - The value :EOF is not of type NUMBER. -[ - Character FFFF is not legal anywhere in an XML document. ] +xmltest/not-wf/sa/174.xml [not validating:] not-wf [validating:] invalid xmltest/not-wf/sa/175.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/176.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/177.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/178.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/179.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/180.xml [not validating:] not-wf [validating:] not-wf -xmltest/not-wf/sa/181.xml [not validating:] FAILED: - The value :EOF is not of type NUMBER. -[ - Internal parsed entities must match the - production to be well formed. ] +xmltest/not-wf/sa/181.xml [not validating:] not-wf [validating:] not-wf xmltest/not-wf/sa/182.xml [not validating:] FAILED: The value :EOF is not of type NUMBER. [ @@ -1342,12 +1332,7 @@ ibm/not-wf/P17/ibm17n03.xml [not validating:] FAILED: ] ibm/not-wf/P17/ibm17n04.xml [not validating:] not-wf [validating:] not-wf ibm/not-wf/P18/ibm18n01.xml [not validating:] not-wf [validating:] invalid -ibm/not-wf/P18/ibm18n02.xml [not validating:] FAILED: - The value :EOF is not of type NUMBER. -[ - Tests CDSect. The CDEnd is missing in the CDSect in the content of - element "student". - ] +ibm/not-wf/P18/ibm18n02.xml [not validating:] not-wf [validating:] not-wf ibm/not-wf/P19/ibm19n01.xml [not validating:] FAILED: error while parsing arguments to DESTRUCTURING-BIND: invalid number of elements in @@ -2372,4 +2357,4 @@ ibm/valid/P86/ibm86v01.xml [not validating:] input [validating:] input ibm/valid/P87/ibm87v01.xml [not validating:] input [validating:] input ibm/valid/P88/ibm88v01.xml [not validating:] input [validating:] input ibm/valid/P89/ibm89v01.xml [not validating:] input [validating:] input -128/1786 tests failed; 376 tests were skipped \ No newline at end of file +124/1786 tests failed; 376 tests were skipped \ No newline at end of file diff --git a/xml/xml-parse.lisp b/xml/xml-parse.lisp index 76377b9..0f58f01 100644 --- a/xml/xml-parse.lisp +++ b/xml/xml-parse.lisp @@ -1601,6 +1601,8 @@ (tagbody state-1 (setf d (read-rune input)) + (when (eq d :eof) + (eox input)) (unless (data-rune-p d) (wf-error "Illegal char: ~S." d)) (when (rune= d #/\]) (go state-2)) @@ -1608,6 +1610,8 @@ (go state-1) state-2 ;; #/] seen (setf d (read-rune input)) + (when (eq d :eof) + (eox input)) (unless (data-rune-p d) (wf-error "Illegal char: ~S." d)) (when (rune= d #/\]) (go state-3)) @@ -1616,6 +1620,8 @@ (go state-1) state-3 ;; #/\] #/\] seen (setf d (read-rune input)) + (when (eq d :eof) + (eox input)) (unless (data-rune-p d) (wf-error "Illegal char: ~S." d)) (when (rune= d #/>)