xmllite: Reader should set starting string offsets when encoding is being parsed.

oldstable
Dmitry Timoshkov 2014-02-12 16:58:06 +09:00 committed by Alexandre Julliard
parent 493e406bbc
commit f78b4f305d
2 changed files with 3 additions and 4 deletions

View File

@ -1071,6 +1071,8 @@ static HRESULT reader_parse_encname(xmlreader *reader, strval *val)
if ((*start < 'A' || *start > 'Z') && (*start < 'a' || *start > 'z'))
return WC_E_ENCNAME;
val->start = reader_get_cur(reader);
ptr = start;
while (is_wchar_encname(*++ptr))
;
@ -1100,6 +1102,7 @@ static HRESULT reader_parse_encdecl(xmlreader *reader)
if (reader_cmp(reader, encodingW)) return S_FALSE;
name.str = reader_get_ptr(reader);
name.start = reader_get_cur(reader);
name.len = 8;
/* skip 'encoding' */
reader_skipn(reader, 8);

View File

@ -752,10 +752,6 @@ static void test_read_xmldeclaration(void)
hr = IXmlReader_GetValue(reader, &val, &len);
ok(hr == S_OK, "got %08x\n", hr);
ok(len == lstrlenW(name_val[i].val), "expected %u, got %u\n", lstrlenW(name_val[i].val), len);
if (i == 1)
todo_wine
ok(!lstrcmpW(name_val[i].val, val), "expected %s, got %s\n", wine_dbgstr_w(name_val[i].val), wine_dbgstr_w(val));
else
ok(!lstrcmpW(name_val[i].val, val), "expected %s, got %s\n", wine_dbgstr_w(name_val[i].val), wine_dbgstr_w(val));
hr = IXmlReader_MoveToNextAttribute(reader);