Kaynağa Gözat

Merged revisions 1172-1173 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

git-svn-id: branches/fixes_2_0@1174 -

florian 20 yıl önce
ebeveyn
işleme
2a18884faa
2 değiştirilmiş dosya ile 8 ekleme ve 5 silme
  1. 5 5
      rtl/objpas/sysutils/sysstr.inc
  2. 3 0
      rtl/win32/sysutils.pp

+ 5 - 5
rtl/objpas/sysutils/sysstr.inc

@@ -295,15 +295,15 @@ begin
       exit;
     end;
   Repeat
-    Result:=Ord(S1[0])-Ord(S2[0]); //!! Must be replaced by ansi characters !!
+    Result:=Ord(S1^)-Ord(S2^); //!! Must be replaced by ansi characters !!
     Inc(S1);
     Inc(S2);
   Until (Result<>0) or (S1^=#0) or (S2^=#0);
-  if Result=0 then
-    if s1=#0 then
-      result:=1
+  if (Result=0) and (S1^<>S2^) then // loop ended because exactly one has #0
+    if S1^=#0 then // shorter string is smaller
+      result:=-1
     else
-      result:=-1;
+      result:=1;
 end;
 
 

+ 3 - 0
rtl/win32/sysutils.pp

@@ -29,6 +29,7 @@ uses
 {$DEFINE HAS_OSERROR}
 {$DEFINE HAS_OSCONFIG}
 {$DEFINE HAS_CREATEGUID}
+
 { Include platform independent interface part }
 {$i sysutilh.inc}
 
@@ -57,6 +58,8 @@ implementation
 {$define HASCREATEGUID}
 {$define HASEXPANDUNCFILENAME}
 
+{$DEFINE FPC_NOGENERICANSIROUTINES}
+
 { Include platform independent implementation part }
 {$i sysutils.inc}