소스 검색

* set destination codepage in widestringmanager.Unicode2AnsiMoveProc() like
on other platforms, rather than explicitly setting it afterwards
everywhere

git-svn-id: branches/jvmbackend@20902 -

Jonas Maebe 13 년 전
부모
커밋
1efee1d2eb
2개의 변경된 파일1개의 추가작업 그리고 3개의 파일을 삭제
  1. 0 1
      rtl/java/jastrings.inc
  2. 1 2
      rtl/java/justrings.inc

+ 0 - 1
rtl/java/jastrings.inc

@@ -266,7 +266,6 @@ var
 begin
   U:=UnicodeString(S1)+UnicodeString(S2);
   widestringmanager.Unicode2AnsiMoveProc(PUnicodeChar(JLString(U).toCharArray),DestS,cp,Length(U));
-  AnsistringClass(DestS).fCodePage:=cp;
 end;
 {$endif FPC_HAS_ANSISTR_CONCAT_COMPLEX}
 

+ 1 - 2
rtl/java/justrings.inc

@@ -36,6 +36,7 @@ begin
     byte written" -> we already have a terminating zero }
   outbuf.get(TJByteArray(AnsiStringClass(dest).fdata),0,outbuf.limit);
   { already null-terminated because of setlength }
+  SetCodePage(dest,cp,false);
 end;
 
 
@@ -321,7 +322,6 @@ begin
   if (cp=CP_ACP) then
     cp:=DefaultSystemCodePage;
   widestringmanager.Unicode2AnsiMoveProc(punicodechar(@arr), RawByteString(fpc_UChar_To_AnsiStr), cp, 1);
-  AnsistringClass(fpc_UChar_To_AnsiStr).fCodePage:=cp;
 end;
 
 
@@ -357,7 +357,6 @@ begin
     cp:=DefaultSystemCodePage;
   arr[0]:=c;
   widestringmanager.Unicode2AnsiMoveProc(punicodechar(@arr[0]), fpc_UChar_To_AnsiStr, cp, 1);
-  AnsistringClass(fpc_UChar_To_AnsiStr).fCodePage:=cp;
 end;
 {$endif FPC_HAS_UCHAR_TO_ANSISTR}