[PATCH] xmllite: Avoid extra read from stream when identifying comment node.
Jeff Smith
whydoubt at gmail.com
Mon Nov 18 19:40:24 CST 2019
Signed-off-by: Jeff Smith <whydoubt at gmail.com>
---
dlls/xmllite/reader.c | 5 +++--
dlls/xmllite/tests/reader.c | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index eddc4d8eec..5299871136 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -1459,7 +1459,7 @@ static HRESULT reader_parse_comment(xmlreader *reader)
reader_init_strvalue(start, reader_get_cur(reader)-start, &value);
TRACE("%s\n", debug_strval(reader, &value));
- /* skip rest of markup '->' */
+ /* skip rest of markup '-->' */
reader_skipn(reader, 3);
reader_set_strvalue(reader, StringValue_Value, &value);
@@ -1472,8 +1472,9 @@ static HRESULT reader_parse_comment(xmlreader *reader)
}
}
- reader_skipn(reader, 1);
ptr++;
+ if (*ptr)
+ reader_skipn(reader, 1);
}
return S_OK;
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c
index 41adad1598..0bbdabbb96 100644
--- a/dlls/xmllite/tests/reader.c
+++ b/dlls/xmllite/tests/reader.c
@@ -1579,7 +1579,6 @@ static void test_read_pending(void)
ok(hr == S_OK || broken(hr == E_PENDING), "got 0x%08x\n", hr);
/* newer versions are happy when it's enough data to detect node type,
older versions keep reading until it fails to read more */
-todo_wine
ok(stream_readcall == 1 || broken(stream_readcall > 1), "got %d\n", stream_readcall);
ok(type == XmlNodeType_Comment || broken(type == XmlNodeType_None), "got %d\n", type);
--
2.23.0
More information about the wine-devel
mailing list