Browse Source

* fixed x86_64 compilation

florian 20 years ago
parent
commit
9ce937d4bf
2 changed files with 36 additions and 7 deletions
  1. 5 2
      fv/asciitab.pas
  2. 31 5
      fv/memory.pas

+ 5 - 2
fv/asciitab.pas

@@ -175,7 +175,7 @@ var
 
   procedure SetTo(xpos, ypos : sw_integer);
   var
-    newchar : longint;
+    newchar : ptrint;
   begin
     newchar:=(ypos*size.X+xpos) and $ff;
     DrawCurPos(false);
@@ -323,7 +323,10 @@ end;
 END.
 {
  $Log$
- Revision 1.5  2004-11-06 17:08:48  peter
+ Revision 1.6  2004-12-19 13:05:56  florian
+   * fixed x86_64 compilation
+
+ Revision 1.5  2004/11/06 17:08:48  peter
    * drawing of tview merged from old fv code
 
 }

+ 31 - 5
fv/memory.pas

@@ -635,7 +635,11 @@ BEGIN
      CacheList := Cache;                              { Hold cache ptr }
      Cache^.Size := Size;                             { Hold cache size }
      Cache^.Master := @P;                             { Hold master ptr }
+{$ifdef fpc}     
+     Inc(Pointer(Cache), SizeOf(TCache));             { Set cache offset }
+{$else fpc}
      Inc(PtrRec(Cache).Ofs, SizeOf(TCache));          { Set cache offset }
+{$endif fpc}     
    End;
    P := Cache;                                        { Return pointer }
 END;
@@ -700,8 +704,12 @@ END;
 {$ELSE}                                               { DPMI/WIN/NT/OS2 CODE }
 VAR Cache, C: PCache;
 BEGIN
+{$ifdef fpc}
+   Cache:=pointer(p)-SizeOf(TCache);
+{$else fpc}
    PtrRec(Cache).Ofs := PtrRec(P).Ofs-SizeOf(TCache); { Previous cache }
    PtrRec(Cache).Seg := PtrRec(P).Seg;                { Segment }
+{$endif fpc}
    C := CacheList;                                    { Start at 1st cache }
    While (C^.Next <> Cache) AND (C^.Next <> CacheList)
      Do C := C^.Next;                                 { Find previous }
@@ -729,10 +737,17 @@ BEGIN
    Dec(PtrRec(P).Seg);                                { Segment prior }
    GetBufferSize := PBuffer(P)^.Size;                 { Size of this buffer }
    {$ELSE}                                            { DPMI/WIN/NT/OS2 CODE }
-   If (P <> Nil) Then Begin                           { Check pointer }
-     Dec(PtrRec(P).Ofs,SizeOf(TBuffer));              { Correct to buffer }
-     GetBufferSize := PBuffer(P)^.Size;               { Return buffer size }
-   End Else GetBufferSize := 0;                       { Invalid pointer }
+   If (P <> Nil) Then                                 { Check pointer }		
+     Begin                           
+{$ifdef fpc}     
+       Dec(Pointer(P),SizeOf(TBuffer));                 { Correct to buffer }
+{$else fpc}     
+       Dec(PtrRec(P).Ofs,SizeOf(TBuffer));              { Correct to buffer }
+{$endif fpc}     
+       GetBufferSize := PBuffer(P)^.Size;               { Return buffer size }
+     End 
+   Else 
+     GetBufferSize := 0;                       { Invalid pointer }
    {$ENDIF}
 END;
 
@@ -768,7 +783,11 @@ BEGIN
      Dec(PtrRec(P).Seg);                              { Prior segement }
      SetBufSize(P, 0);                                { Release memory }
      {$ELSE}                                          { DPMI/WIN/NT/OS2 CODE }
+{$ifdef fpc}     
+     Dec(Pointer(P), SizeOf(TBuffer));                { Actual buffer pointer }
+{$else fpc}     
      Dec(PtrRec(P).Ofs, SizeOf(TBuffer));             { Actual buffer pointer }
+{$endif fpc}
      Buffer := BufferList;                            { Start on first }
      PrevBuf := Nil;                                  { Preset prevbuf to nil }
      While (Buffer <> Nil) AND (P <> Buffer) Do Begin { Search for buffer }
@@ -808,7 +827,11 @@ BEGIN
      Buffer^.Next := BufferList;                      { First part of chain }
      BufferList := Buffer;                            { Complete the chain }
      Buffer^.Size := BufSize;                         { Hold the buffer size }
+{$ifdef fpc}
+     Inc(Pointer(Buffer), SizeOf(TBuffer));           { Buffer to data area }
+{$else fpc}
      Inc(PtrRec(Buffer).Ofs, SizeOf(TBuffer));        { Buffer to data area }
+{$endif fpc}
    End;
    P := Buffer;                                       { Return the buffer ptr }
    {$ENDIF}
@@ -848,7 +871,10 @@ END.
 
 {
  $Log$
- Revision 1.9  2004-11-06 17:08:48  peter
+ Revision 1.10  2004-12-19 13:05:56  florian
+   * fixed x86_64 compilation
+
+ Revision 1.9  2004/11/06 17:08:48  peter
    * drawing of tview merged from old fv code
 
 }