浏览代码

* Fixed AnsiStrLComp() and AnsiStrLIComp().

git-svn-id: branches/targetandroid@23424 -
yury 12 年之前
父节点
当前提交
04902a15f9
共有 1 个文件被更改,包括 10 次插入2 次删除
  1. 10 2
      rtl/android/cwstring.pp

+ 10 - 2
rtl/android/cwstring.pp

@@ -271,13 +271,21 @@ begin
 end;
 end;
 
 
 function AnsiStrLComp(S1, S2: PChar; MaxLen: PtrUInt): PtrInt;
 function AnsiStrLComp(S1, S2: PChar; MaxLen: PtrUInt): PtrInt;
+var
+  as1, as2: ansistring;
 begin
 begin
-  Result:=CompareUnicodeString(UnicodeString(Copy(s1, 1, MaxLen)), UnicodeString(Copy(s2, 1, MaxLen)));
+  SetString(as1, S1, MaxLen);
+  SetString(as2, S2, MaxLen);
+  Result:=CompareUnicodeString(UnicodeString(as1), UnicodeString(as2));
 end;
 end;
 
 
 function AnsiStrLIComp(S1, S2: PChar; MaxLen: PtrUInt): PtrInt;
 function AnsiStrLIComp(S1, S2: PChar; MaxLen: PtrUInt): PtrInt;
+var
+  as1, as2: ansistring;
 begin
 begin
-  Result:=CompareTextUnicodeString(UnicodeString(Copy(s1, 1, MaxLen)), UnicodeString(Copy(s2, 1, MaxLen)));
+  SetString(as1, S1, MaxLen);
+  SetString(as2, S2, MaxLen);
+  Result:=CompareTextUnicodeString(UnicodeString(as1), UnicodeString(as2));
 end;
 end;
 
 
 function AnsiStrLower(Str: PChar): PChar;
 function AnsiStrLower(Str: PChar): PChar;