소스 검색

XML/HTML writers, handle denormalized line-ending sequences (#13 and #13#10), fixes #13879.

git-svn-id: trunk@13247 -
sergei 16 년 전
부모
커밋
f0e6946688
2개의 변경된 파일12개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 1
      packages/fcl-xml/src/htmwrite.pp
  2. 6 1
      packages/fcl-xml/src/xmlwrite.pp

+ 6 - 1
packages/fcl-xml/src/htmwrite.pp

@@ -180,8 +180,13 @@ begin
     wc := Cardinal(Src^);  Inc(Src);
     case wc of
       $0A: pb := StrECopy(pb, PChar(FLineBreak));
+      $0D: begin
+        pb := StrECopy(pb, PChar(FLineBreak));
+        if (Src < SrcEnd) and (Src^ = #$0A) then
+          Inc(Src);
+      end;
 
-      0..$09, $0B..$7F:  begin
+      0..$09, $0B, $0C, $0E..$7F:  begin
         pb^ := char(wc); Inc(pb);
       end;
 

+ 6 - 1
packages/fcl-xml/src/xmlwrite.pp

@@ -191,8 +191,13 @@ begin
     wc := Cardinal(Src^);  Inc(Src);
     case wc of
       $0A: pb := StrECopy(pb, PChar(FLineBreak));
+      $0D: begin
+        pb := StrECopy(pb, PChar(FLineBreak));
+        if (Src < SrcEnd) and (Src^ = #$0A) then
+          Inc(Src);
+      end;
 
-      0..$09, $0B..$7F:  begin
+      0..$09, $0B, $0C, $0E..$7F:  begin
         pb^ := char(wc); Inc(pb);
       end;