summaryrefslogtreecommitdiff
path: root/src/library/scala/xml/parsing/MarkupParserCommon.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2014-12-23 16:09:43 -0800
committerSom Snytt <som.snytt@gmail.com>2015-02-13 09:15:52 -0800
commitfe7867f8a7f309fe16b454fe977bd2f1870d59c2 (patch)
tree9d421598203e2d2eb0fbc8e8b4f14b0d292e9e67 /src/library/scala/xml/parsing/MarkupParserCommon.scala
parentad0ddd4603e6ec134460491333444d505d376883 (diff)
downloadscala-fe7867f8a7f309fe16b454fe977bd2f1870d59c2.tar.gz
scala-fe7867f8a7f309fe16b454fe977bd2f1870d59c2.tar.bz2
scala-fe7867f8a7f309fe16b454fe977bd2f1870d59c2.zip
[backport] SI-4339 Event errors and attribute fix
Improve attribute parsing and propagate errors across event thread. Otherwise tests just hang. This is tested, right? This is an upstream port of scala-xml 5f2cfadeb9e8574ed66f37dc7a7a868eb129a8a9
Diffstat (limited to 'src/library/scala/xml/parsing/MarkupParserCommon.scala')
-rw-r--r--src/library/scala/xml/parsing/MarkupParserCommon.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/library/scala/xml/parsing/MarkupParserCommon.scala b/src/library/scala/xml/parsing/MarkupParserCommon.scala
index da640484e0..4dbe5aed9d 100644
--- a/src/library/scala/xml/parsing/MarkupParserCommon.scala
+++ b/src/library/scala/xml/parsing/MarkupParserCommon.scala
@@ -58,8 +58,9 @@ private[scala] trait MarkupParserCommon extends TokenTests {
@param endCh either `'` or `"`
*/
def xAttributeValue(endCh: Char): String = {
+ require(endCh == '\'' || endCh == '"', s"Expected single or double quote, found $endCh")
val buf = new StringBuilder
- while (ch != endCh) {
+ while (ch != endCh && !eof) {
// well-formedness constraint
if (ch == '<') return errorAndResult("'<' not allowed in attrib value", "")
else if (ch == SU) truncatedError("")