Browse Source

* xmlutils.pp: calculate hash with both range and overflow checks disabled (went unnoticed this far probably because range errors do not manifest on 32-bit platforms).
* sax_xml.pp: don't handle processing instructions as elements.

git-svn-id: trunk@20390 -

sergei 13 years ago
parent
commit
6498df861b
2 changed files with 2 additions and 2 deletions
  1. 1 1
      packages/fcl-xml/src/sax_xml.pp
  2. 1 1
      packages/fcl-xml/src/xmlutils.pp

+ 1 - 1
packages/fcl-xml/src/sax_xml.pp

@@ -392,7 +392,7 @@ begin
           DoEndElement('',
             SplitTagString(Copy(TokenText, 2, Length(TokenText)), Attr), '');
         end
-        else if TokenText[1] <> '!' then
+        else if (TokenText[1] <> '!') and (TokenText[1] <> '?') then
         begin
           // Do NOT combine to a single line, as Attr is an output value!
           TagName := SplitTagString(TokenText, Attr);

+ 1 - 1
packages/fcl-xml/src/xmlutils.pp

@@ -476,7 +476,7 @@ begin
   Result := InitValue;
   while KeyLen <> 0 do
   begin
-{$push}{$q-}
+{$push}{$r-}{$q-}
     Result := Result * $F4243 xor ord(Key^);
 {$pop}
     Inc(Key);