Explorar el Código

* fixed problems on targets requiring proper alignment

florian hace 21 años
padre
commit
3ed1a1505e
Se han modificado 7 ficheros con 101 adiciones y 22 borrados
  1. 9 2
      fv/drivers.pas
  2. 20 4
      fv/editors.pas
  3. 10 3
      fv/histlist.pas
  4. 24 5
      fv/memory.pas
  5. 24 5
      fv/menus.pas
  6. 5 1
      fv/stddlg.pas
  7. 9 2
      fv/views.pas

+ 9 - 2
fv/drivers.pas

@@ -239,7 +239,11 @@ CONST
 {                          EVENT RECORD DEFINITION                          }
 {                          EVENT RECORD DEFINITION                          }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 TYPE
 TYPE
-   TEvent = PACKED RECORD
+   TEvent =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
       What: Sw_Word;                                     { Event type }
       What: Sw_Word;                                     { Event type }
       Case Sw_Word Of
       Case Sw_Word Of
         evNothing: ();                                { ** NO EVENT ** }
         evNothing: ();                                { ** NO EVENT ** }
@@ -1451,7 +1455,10 @@ BEGIN
 END.
 END.
 {
 {
  $Log$
  $Log$
- Revision 1.40  2004-11-03 20:33:05  peter
+ Revision 1.41  2004-11-03 20:51:36  florian
+   * fixed problems on targets requiring proper alignment
+
+ Revision 1.40  2004/11/03 20:33:05  peter
    * removed unnecesasry graphfv stuff
    * removed unnecesasry graphfv stuff
 
 
  Revision 1.39  2004/11/02 23:53:19  peter
  Revision 1.39  2004/11/02 23:53:19  peter

+ 20 - 4
fv/editors.pas

@@ -331,22 +331,38 @@ const
   UndoCmds       : TCommandSet = ([cmUndo,cmRedo]);
   UndoCmds       : TCommandSet = ([cmUndo,cmRedo]);
 
 
 TYPE
 TYPE
-  TFindDialogRec = packed record
+  TFindDialogRec =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+  packed
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+  record
     Find    : String[80];
     Find    : String[80];
     Options : Word;
     Options : Word;
   end;
   end;
 
 
-  TReplaceDialogRec = packed record
+  TReplaceDialogRec =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+  packed
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+  record
        Find : String[80];
        Find : String[80];
     Replace : String[80];
     Replace : String[80];
     Options : Word;
     Options : Word;
   end;
   end;
 
 
-  TRightMarginRec = packed record
+  TRightMarginRec =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+  packed
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+  record
     Margin_Position : String[3];
     Margin_Position : String[3];
   end;
   end;
 
 
-  TTabStopRec = packed record
+  TTabStopRec =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+  packed
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+  record
     Tab_String : String [Tab_Stop_Length];
     Tab_String : String [Tab_Stop_Length];
   end;
   end;
 
 

+ 10 - 3
fv/histlist.pas

@@ -156,7 +156,7 @@ PROCEDURE StoreHistory (Var S: TStream);
 {                 INITIALIZED DOS/DPMI/WIN/NT/OS2 VARIABLES                 }
 {                 INITIALIZED DOS/DPMI/WIN/NT/OS2 VARIABLES                 }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 CONST
 CONST
-   HistorySize: Word = 1024;                          { Maximum history size }
+   HistorySize: Word = 64*1024;                       { Maximum history size }
    HistoryUsed: LongInt = 0;                          { History used }
    HistoryUsed: LongInt = 0;                          { History used }
    HistoryBlock: Pointer = Nil;                       { Storage block }
    HistoryBlock: Pointer = Nil;                       { Storage block }
 
 
@@ -172,7 +172,11 @@ CONST
 {                       THistRec RECORD DEFINITION                          }
 {                       THistRec RECORD DEFINITION                          }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 TYPE
 TYPE
-   THistRec = PACKED RECORD
+   THistRec =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      Zero: byte;                                      { Start marker }
      Zero: byte;                                      { Start marker }
      Id  : byte;                                      { History id }
      Id  : byte;                                      { History id }
      Str : String;                                    { History string }
      Str : String;                                    { History string }
@@ -420,7 +424,10 @@ END.
 
 
 {
 {
  $Log$
  $Log$
- Revision 1.10  2002-10-17 11:24:16  pierre
+ Revision 1.11  2004-11-03 20:51:36  florian
+   * fixed problems on targets requiring proper alignment
+
+ Revision 1.10  2002/10/17 11:24:16  pierre
   * Clean up the Load/Store routines so they are endian independent
   * Clean up the Load/Store routines so they are endian independent
 
 
  Revision 1.9  2002/09/07 15:06:37  peter
  Revision 1.9  2002/09/07 15:06:37  peter

+ 24 - 5
fv/memory.pas

@@ -217,7 +217,11 @@ CONST
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 TYPE
 TYPE
    PBuffer = ^TBuffer;                                { Buffer pointer }
    PBuffer = ^TBuffer;                                { Buffer pointer }
-   TBuffer = PACKED RECORD
+   TBuffer =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      {$IFDEF PROC_REAL}                               { REAL MODE DOS CODE }
      {$IFDEF PROC_REAL}                               { REAL MODE DOS CODE }
      Size  : Word;                                    { Buffer size }
      Size  : Word;                                    { Buffer size }
      Master: ^Word;                                   { Master buffer }
      Master: ^Word;                                   { Master buffer }
@@ -232,7 +236,11 @@ TYPE
 {                     POINTER TYPE CONVERSION RECORDS                       }
 {                     POINTER TYPE CONVERSION RECORDS                       }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 TYPE
 TYPE
-   PtrRec = PACKED RECORD
+   PtrRec =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      Ofs, Seg: Word;                                  { Pointer to words }
      Ofs, Seg: Word;                                  { Pointer to words }
    END;
    END;
 
 
@@ -242,13 +250,21 @@ TYPE
 TYPE
 TYPE
    PCache = ^TCache;                                  { Cache pointer }
    PCache = ^TCache;                                  { Cache pointer }
 {$IFDEF PROC_REAL}                                    { REAL MODE DOS CODE }
 {$IFDEF PROC_REAL}                                    { REAL MODE DOS CODE }
-   TCache = PACKED RECORD
+   TCache =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
       Size  : Word;                                   { Cache size }
       Size  : Word;                                   { Cache size }
       Master: ^Pointer;                               { Master cache }
       Master: ^Pointer;                               { Master cache }
       Data  : RECORD END;                             { Cache data }
       Data  : RECORD END;                             { Cache data }
    END;
    END;
 {$ELSE}                                               { DPMI/WIN/NT/OS2 CODE }
 {$ELSE}                                               { DPMI/WIN/NT/OS2 CODE }
-   TCache = PACKED RECORD
+   TCache =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      Next  : PCache;                                  { Next cache }
      Next  : PCache;                                  { Next cache }
      Master: ^Pointer;                                { Master cache }
      Master: ^Pointer;                                { Master cache }
      Size  : Word;                                    { Size of cache }
      Size  : Word;                                    { Size of cache }
@@ -832,7 +848,10 @@ END.
 
 
 {
 {
  $Log$
  $Log$
- Revision 1.7  2002-09-22 19:42:22  hajny
+ Revision 1.8  2004-11-03 20:51:36  florian
+   * fixed problems on targets requiring proper alignment
+
+ Revision 1.7  2002/09/22 19:42:22  hajny
    + FPC/2 support added
    + FPC/2 support added
 
 
  Revision 1.6  2002/09/09 08:04:06  pierre
  Revision 1.6  2002/09/09 08:04:06  pierre

+ 24 - 5
fv/menus.pas

@@ -119,7 +119,11 @@ TYPE
 {                              TMenuItem RECORD                             }
 {                              TMenuItem RECORD                             }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
    PMenuItem = ^TMenuItem;
    PMenuItem = ^TMenuItem;
-   TMenuItem = PACKED RECORD
+   TMenuItem =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      Next: PMenuItem;                                 { Next menu item }
      Next: PMenuItem;                                 { Next menu item }
      Name: PString;                                   { Menu item name }
      Name: PString;                                   { Menu item name }
      Command: Word;                                   { Menu item command }
      Command: Word;                                   { Menu item command }
@@ -134,7 +138,11 @@ TYPE
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 {                                TMenu RECORD                               }
 {                                TMenu RECORD                               }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
-   TMenu = PACKED RECORD
+   TMenu =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      Items: PMenuItem;                                { Menu item list }
      Items: PMenuItem;                                { Menu item list }
      Default: PMenuItem;                              { Default menu }
      Default: PMenuItem;                              { Default menu }
    END;
    END;
@@ -144,7 +152,11 @@ TYPE
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 TYPE
 TYPE
    PStatusItem = ^TStatusItem;
    PStatusItem = ^TStatusItem;
-   TStatusItem = PACKED RECORD
+   TStatusItem =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      Next: PStatusItem;                               { Next status item }
      Next: PStatusItem;                               { Next status item }
      Text: PString;                                   { Text of status item }
      Text: PString;                                   { Text of status item }
      KeyCode: Word;                                   { Keycode of item }
      KeyCode: Word;                                   { Keycode of item }
@@ -156,7 +168,11 @@ TYPE
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 TYPE
 TYPE
    PStatusDef = ^TStatusDef;
    PStatusDef = ^TStatusDef;
-   TStatusDef = PACKED RECORD
+   TStatusDef =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
      Next: PStatusDef;                                { Next status defined }
      Next: PStatusDef;                                { Next status defined }
      Min, Max: Word;                                  { Range of item }
      Min, Max: Word;                                  { Range of item }
      Items: PStatusItem;                              { Item list }
      Items: PStatusItem;                              { Item list }
@@ -1687,7 +1703,10 @@ END;
 END.
 END.
 {
 {
  $Log$
  $Log$
- Revision 1.19  2004-11-03 20:33:05  peter
+ Revision 1.20  2004-11-03 20:51:36  florian
+   * fixed problems on targets requiring proper alignment
+
+ Revision 1.19  2004/11/03 20:33:05  peter
    * removed unnecesasry graphfv stuff
    * removed unnecesasry graphfv stuff
 
 
  Revision 1.18  2004/11/03 12:09:08  peter
  Revision 1.18  2004/11/03 12:09:08  peter

+ 5 - 1
fv/stddlg.pas

@@ -87,7 +87,11 @@ type
   {  Record used to store directory information by TFileDialog
   {  Record used to store directory information by TFileDialog
      This is a part of Dos.Searchrec for Bp !! }
      This is a part of Dos.Searchrec for Bp !! }
 
 
-  TSearchRec = packed record
+  TSearchRec =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+  packed
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+  record
     Attr: Longint;
     Attr: Longint;
     Time: Longint;
     Time: Longint;
     Size: Longint;
     Size: Longint;

+ 9 - 2
fv/views.pas

@@ -328,7 +328,11 @@ TYPE
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
 TYPE
 TYPE
    PComplexArea = ^TComplexArea;                      { Complex area }
    PComplexArea = ^TComplexArea;                      { Complex area }
-   TComplexArea = PACKED RECORD
+   TComplexArea =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+   PACKED
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+   RECORD
       X1, Y1  : Sw_Integer;                              { Top left corner }
       X1, Y1  : Sw_Integer;                              { Top left corner }
       X2, Y2  : Sw_Integer;                              { Lower right corner }
       X2, Y2  : Sw_Integer;                              { Lower right corner }
       NextArea: PComplexArea;                         { Next area pointer }
       NextArea: PComplexArea;                         { Next area pointer }
@@ -5212,7 +5216,10 @@ END.
 
 
 {
 {
  $Log$
  $Log$
- Revision 1.44  2004-11-03 20:33:05  peter
+ Revision 1.45  2004-11-03 20:51:36  florian
+   * fixed problems on targets requiring proper alignment
+
+ Revision 1.44  2004/11/03 20:33:05  peter
    * removed unnecesasry graphfv stuff
    * removed unnecesasry graphfv stuff
 
 
  Revision 1.43  2004/11/03 12:09:08  peter
  Revision 1.43  2004/11/03 12:09:08  peter