xmllite: Reader should set starting string offsets when encoding is being parsed.
This commit is contained in:
parent
493e406bbc
commit
f78b4f305d
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue