Browse Source

* fixed GetKeyData

git-svn-id: trunk@8729 -
florian 18 years ago
parent
commit
de47ba3ac8
1 changed files with 6 additions and 6 deletions
  1. 6 6
      rtl/objpas/fgl.pp

+ 6 - 6
rtl/objpas/fgl.pp

@@ -137,7 +137,7 @@ type
     procedure PutKeyData(AKey: Pointer; NewData: Pointer);
     procedure PutKeyData(AKey: Pointer; NewData: Pointer);
     procedure PutData(Index: Integer; AData: Pointer);
     procedure PutData(Index: Integer; AData: Pointer);
   public
   public
-    constructor Create(AKeySize: Integer = sizeof(Pointer); 
+    constructor Create(AKeySize: Integer = sizeof(Pointer);
       ADataSize: integer = sizeof(Pointer));
       ADataSize: integer = sizeof(Pointer));
     function Add(AKey, AData: Pointer): Integer;
     function Add(AKey, AData: Pointer): Integer;
     function Add(AKey: Pointer): Integer;
     function Add(AKey: Pointer): Integer;
@@ -297,7 +297,7 @@ begin
       SetCapacity(NewCount);
       SetCapacity(NewCount);
     if NewCount > FCount then
     if NewCount > FCount then
       FillByte(InternalItems[FCount]^, (NewCount-FCount) * FItemSize, 0)
       FillByte(InternalItems[FCount]^, (NewCount-FCount) * FItemSize, 0)
-    else if NewCount < FCount then 
+    else if NewCount < FCount then
       Deref(NewCount, FCount-1);
       Deref(NewCount, FCount-1);
   end;
   end;
   FCount := NewCount;
   FCount := NewCount;
@@ -612,7 +612,7 @@ begin
   while (Result < FCount) and (PT(FList)[Result] <> Item) do
   while (Result < FCount) and (PT(FList)[Result] <> Item) do
     Inc(Result);
     Inc(Result);
   {$warning TODO: Result := -1; does not compile }
   {$warning TODO: Result := -1; does not compile }
-  if Result = FCount then 
+  if Result = FCount then
   begin
   begin
     Result := 0;
     Result := 0;
     dec(Result);
     dec(Result);
@@ -687,7 +687,7 @@ var
 begin
 begin
   I := IndexOf(AKey);
   I := IndexOf(AKey);
   if I >= 0 then
   if I >= 0 then
-    Result := InternalItems[I]
+    Result := InternalItems[I]+FKeySize
   else
   else
     Error(SMapKeyError, PtrInt(AKey));
     Error(SMapKeyError, PtrInt(AKey));
 end;
 end;
@@ -750,7 +750,7 @@ end;
 function TFPSMap.Find(AKey: Pointer; var Index: Integer): Boolean;
 function TFPSMap.Find(AKey: Pointer; var Index: Integer): Boolean;
 { Searches for the first item <= Key, returns True if exact match,
 { Searches for the first item <= Key, returns True if exact match,
   sets index to the index f the found string. }
   sets index to the index f the found string. }
-var 
+var
   I,L,R,Dir: Integer;
   I,L,R,Dir: Integer;
 begin
 begin
   Result := false;
   Result := false;
@@ -768,7 +768,7 @@ begin
       if Dir = 0 then
       if Dir = 0 then
       begin
       begin
         Result := true;
         Result := true;
-        if Duplicates <> dupAccept then 
+        if Duplicates <> dupAccept then
           L := I;
           L := I;
       end;
       end;
     end;
     end;