2
0
Эх сурвалжийг харах

* old logs removed and tabs fixed

peter 23 жил өмнө
parent
commit
db24d91c85
100 өөрчлөгдсөн 1799 нэмэгдсэн , 1452 устгасан
  1. 2 3
      fcl/beos/classes.pp
  2. 2 3
      fcl/beos/ezcgi.inc
  3. 2 3
      fcl/beos/pipes.inc
  4. 2 6
      fcl/beos/thread.inc
  5. 1 1
      fcl/db/README
  6. 11 11
      fcl/db/database.inc
  7. 2 10
      fcl/db/dataset.inc
  8. 66 66
      fcl/db/datasource.inc
  9. 47 56
      fcl/db/db.pp
  10. 19 19
      fcl/db/dbase/dbf.pas
  11. 3 3
      fcl/db/dbase/testdbf.pp
  12. 2 4
      fcl/db/dbs.inc
  13. 7 7
      fcl/db/ddg_ds.pp
  14. 3 3
      fcl/db/ddg_rec.pp
  15. 2 14
      fcl/db/fields.inc
  16. 1 1
      fcl/db/interbase/BUGS.known
  17. 1 1
      fcl/db/interbase/README
  18. 18 21
      fcl/db/interbase/testib.pp
  19. 3 21
      fcl/db/mysql/mtest.pp
  20. 10 13
      fcl/db/mysql/mysqldb.pp
  21. 2 2
      fcl/db/odbc/testbcon.pp
  22. 1 1
      fcl/db/odbc/testenv.pp
  23. BIN
      fcl/db/odbc/testodbc.mdb
  24. 1 1
      fcl/db/odbc/testpa.pp
  25. 1 1
      fcl/db/odbc/testsql.pp
  26. 3 22
      fcl/db/tests/createds.pp
  27. 2 21
      fcl/db/tests/testds.pp
  28. 2 30
      fcl/db/tests/tested.pp
  29. 2 47
      fcl/freebsd/classes.pp
  30. 2 22
      fcl/freebsd/process.inc
  31. 2 43
      fcl/freebsd/thread.inc
  32. 3 3
      fcl/go32v2/classes.pp
  33. 2 5
      fcl/go32v2/ezcgi.inc
  34. 2 5
      fcl/go32v2/pipes.inc
  35. 2 5
      fcl/go32v2/thread.inc
  36. 519 0
      fcl/inc/asyncio.pp
  37. 3 3
      fcl/inc/base64.pp
  38. 4 20
      fcl/inc/bits.inc
  39. 23 23
      fcl/inc/cachecls.pp
  40. 4 26
      fcl/inc/classes.inc
  41. 4 54
      fcl/inc/classesh.inc
  42. 3 3
      fcl/inc/collect.inc
  43. 5 11
      fcl/inc/compon.inc
  44. 2 14
      fcl/inc/constse.inc
  45. 2 5
      fcl/inc/constsg.inc
  46. 2 5
      fcl/inc/constss.inc
  47. 6 3
      fcl/inc/contnrs.pp
  48. 2 5
      fcl/inc/cregist.inc
  49. 2 6
      fcl/inc/ezcgi.pp
  50. 3 3
      fcl/inc/filer.inc
  51. 3 3
      fcl/inc/filerec.inc
  52. 4 13
      fcl/inc/gettext.pp
  53. 637 0
      fcl/inc/http.pp
  54. 2 11
      fcl/inc/idea.pp
  55. 6 15
      fcl/inc/inifiles.pp
  56. 5 2
      fcl/inc/intf.inc
  57. 5 5
      fcl/inc/iostream.pp
  58. 5 20
      fcl/inc/lists.inc
  59. 4 11
      fcl/inc/parser.inc
  60. 2 5
      fcl/inc/persist.inc
  61. 3 3
      fcl/inc/pipes.pp
  62. 16 40
      fcl/inc/process.pp
  63. 81 95
      fcl/inc/reader.inc
  64. 3 3
      fcl/inc/registry.pp
  65. 2 5
      fcl/inc/rtfdata.inc
  66. 3 3
      fcl/inc/rtfpars.pp
  67. 4 28
      fcl/inc/ssockets.pp
  68. 11 25
      fcl/inc/streams.inc
  69. 4 30
      fcl/inc/stringl.inc
  70. 3 3
      fcl/inc/syncob.inc
  71. 2 5
      fcl/inc/syncobh.inc
  72. 3 3
      fcl/inc/twriter.inc
  73. 3 3
      fcl/inc/util.inc
  74. 74 80
      fcl/inc/writer.inc
  75. 2 8
      fcl/inc/zstream.pp
  76. 2 8
      fcl/linux/classes.pp
  77. 2 11
      fcl/linux/thread.inc
  78. 2 50
      fcl/netbsd/classes.pp
  79. 2 25
      fcl/netbsd/process.inc
  80. 2 46
      fcl/netbsd/thread.inc
  81. 4 52
      fcl/openbsd/classes.pp
  82. 4 27
      fcl/openbsd/process.inc
  83. 4 48
      fcl/openbsd/thread.inc
  84. 4 10
      fcl/os2/classes.pp
  85. 2 9
      fcl/os2/ezcgi.inc
  86. 3 9
      fcl/os2/pipes.inc
  87. 5 11
      fcl/os2/thread.inc
  88. 2 3
      fcl/posix/ezcgi.inc
  89. 2 3
      fcl/posix/pipes.inc
  90. 1 1
      fcl/posix/readme.txt
  91. 2 2
      fcl/posix/thread.inc
  92. 2 2
      fcl/qnx/classes.pp
  93. 13 16
      fcl/shedit/doc_text.pp
  94. 13 13
      fcl/shedit/drawing.inc
  95. 3 3
      fcl/shedit/gtk/gtkdemo.pp
  96. 3 9
      fcl/shedit/gtk/gtkshedit.pp
  97. 5 5
      fcl/shedit/keys.inc
  98. 9 9
      fcl/shedit/sh_pas.pp
  99. 3 3
      fcl/shedit/sh_xml.pp
  100. 3 3
      fcl/shedit/shedit.pp

+ 2 - 3
fcl/beos/classes.pp

@@ -43,8 +43,7 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-09-28 02:18:47  carl
-  + beos target
-
+  Revision 1.2  2002-09-07 15:15:22  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 3
fcl/beos/ezcgi.inc

@@ -9,8 +9,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-09-28 02:19:01  carl
-  + beos target
-
+  Revision 1.2  2002-09-07 15:15:22  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 3
fcl/beos/pipes.inc

@@ -23,8 +23,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-09-28 02:19:09  carl
-  + beos target
-
+  Revision 1.2  2002-09-07 15:15:22  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 6
fcl/beos/thread.inc

@@ -93,11 +93,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2001-10-09 02:28:28  carl
-  * bugfix #1639 (IsMultiThread varialbe setting)
+  Revision 1.3  2002-09-07 15:15:22  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.1  2001/09/28 02:19:13  carl
-  + beos target
-
- 
 }
 }

+ 1 - 1
fcl/db/README

@@ -54,4 +54,4 @@ I haven't implemented/tested blob fields yet.
 
 
 Enjoy !
 Enjoy !
 
 
-Michael.              
+Michael.              

+ 11 - 11
fcl/db/database.inc

@@ -1,11 +1,11 @@
 {
 {
     $Id$
     $Id$
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 1999-2000 by Michael Van Canneyt, member of the 
+    Copyright (c) 1999-2000 by Michael Van Canneyt, member of the
     Free Pascal development team
     Free Pascal development team
 
 
     TDatabase and related objects implementation
     TDatabase and related objects implementation
-    
+
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
 
 
@@ -32,7 +32,7 @@ begin
   If Connected Then
   If Connected Then
     DatabaseError(SConnected,Self);
     DatabaseError(SConnected,Self);
 end;
 end;
-  
+
 procedure TDataBase.Loaded;
 procedure TDataBase.Loaded;
 
 
 begin
 begin
@@ -44,7 +44,7 @@ procedure TDataBase.SetConnected (Value : boolean);
 begin
 begin
   If Value<>FConnected then
   If Value<>FConnected then
     begin
     begin
-    If Value then 
+    If Value then
       DoInternalConnect
       DoInternalConnect
     else
     else
       begin
       begin
@@ -88,7 +88,7 @@ procedure TDatabase.CloseDataSets;
 Var I : longint;
 Var I : longint;
 
 
 begin
 begin
-  If Assigned(FDatasets) then 
+  If Assigned(FDatasets) then
     begin
     begin
     For I:=FDatasets.Count-1 downto 0 do
     For I:=FDatasets.Count-1 downto 0 do
       TDBDataset(FDatasets[i]).Close;
       TDBDataset(FDatasets[i]).Close;
@@ -100,7 +100,7 @@ procedure TDatabase.RemoveDataSets;
 Var I : longint;
 Var I : longint;
 
 
 begin
 begin
-  If Assigned(FDatasets) then 
+  If Assigned(FDatasets) then
     For I:=FDataSets.Count-1 downto 0 do
     For I:=FDataSets.Count-1 downto 0 do
       TDBDataset(FDataSets[i]).Database:=Nil;
       TDBDataset(FDataSets[i]).Database:=Nil;
 end;
 end;
@@ -169,13 +169,13 @@ begin
       FDatabase.UnregisterDataset(Self);
       FDatabase.UnregisterDataset(Self);
     If Value<>Nil Then
     If Value<>Nil Then
       Value.RegisterDataset(Self);
       Value.RegisterDataset(Self);
-    FDatabase:=Value; 
+    FDatabase:=Value;
     end;
     end;
-end;  
+end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:56  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:22  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 2 - 10
fcl/db/dataset.inc

@@ -1605,15 +1605,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2001-04-10 23:28:23  peter
-    * merged fixes
+  Revision 1.6  2002-09-07 15:15:22  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.4  2001/01/18 22:10:07  michael
-  + Fixes to make dbase working merged from fixbranch
-
-  Revision 1.3  2000/12/24 12:45:19  peter
-    * merges from 1.0.x branch
-
-  Revision 1.2  2000/07/13 11:32:56  michael
-  + removed logs
 }
 }

+ 66 - 66
fcl/db/datasource.inc

@@ -11,7 +11,7 @@ begin
 end;
 end;
 
 
 
 
-Destructor TDataLink.Destroy; 
+Destructor TDataLink.Destroy;
 
 
 begin
 begin
   Factive:=False;
   Factive:=False;
@@ -21,8 +21,8 @@ begin
   Inherited Destroy;
   Inherited Destroy;
 end;
 end;
 
 
-  
-Procedure TDataLink.ActiveChanged; 
+
+Procedure TDataLink.ActiveChanged;
 
 
 begin
 begin
 end;
 end;
@@ -48,21 +48,21 @@ begin
 end;
 end;
 
 
 
 
-Procedure TDataLink.CheckBrowseMode; 
+Procedure TDataLink.CheckBrowseMode;
 
 
 begin
 begin
 end;
 end;
 
 
 Function TDataLink.CalcFirstRecord(Index : Integer) : Integer;
 Function TDataLink.CalcFirstRecord(Index : Integer) : Integer;
 
 
-{ recalculates index of first record in buffer, 
+{ recalculates index of first record in buffer,
   and returns number of record scrolled.}
   and returns number of record scrolled.}
 
 
-Var 
+Var
    A,              // Index of active record in buffer
    A,              // Index of active record in buffer
-   F,              // Index of current first record in buffer 
+   F,              // Index of current first record in buffer
    L : Integer;    // index of Last (for us) record in buffer;
    L : Integer;    // index of Last (for us) record in buffer;
- 
+
 begin
 begin
   A:=DataSource.DataSet.FActiveRecord;
   A:=DataSource.DataSet.FActiveRecord;
   F:=FFirstRecord+Index;
   F:=FFirstRecord+Index;
@@ -75,67 +75,67 @@ begin
 end;
 end;
 
 
 
 
-Procedure TDataLink.DataEvent(Event: TDataEvent; Info: Longint); 
+Procedure TDataLink.DataEvent(Event: TDataEvent; Info: Longint);
 
 
 
 
 begin
 begin
   Case Event of
   Case Event of
-    deFieldChange, 
-    deRecordChange : 
+    deFieldChange,
+    deRecordChange :
       If Not FUpdatingRecord then
       If Not FUpdatingRecord then
         RecordChanged(TField(Info));
         RecordChanged(TField(Info));
-    deDataSetChange: 
+    deDataSetChange:
       begin
       begin
       SetActive(DataSource.DataSet.Active);
       SetActive(DataSource.DataSet.Active);
       CalcFirstRecord(Info);
       CalcFirstRecord(Info);
       DatasetChanged;
       DatasetChanged;
       end;
       end;
-    deDataSetScroll: 
+    deDataSetScroll:
       DatasetScrolled(CalcFirstRecord(Info));
       DatasetScrolled(CalcFirstRecord(Info));
-    deLayoutChange: 
+    deLayoutChange:
       begin
       begin
       CalcFirstRecord(Info);
       CalcFirstRecord(Info);
       LayoutChanged;
       LayoutChanged;
       end;
       end;
-    deUpdateRecord: 
+    deUpdateRecord:
       UpdateRecord;
       UpdateRecord;
-    deUpdateState: 
+    deUpdateState:
       CheckActiveAndEditing;
       CheckActiveAndEditing;
     deCheckBrowseMode:
     deCheckBrowseMode:
       CheckBrowseMode;
       CheckBrowseMode;
-    deFocusControl: 
+    deFocusControl:
       FocusControl(TFieldRef(Info));
       FocusControl(TFieldRef(Info));
-  end;     
+  end;
 end;
 end;
 
 
 
 
-Procedure TDataLink.DataSetChanged; 
+Procedure TDataLink.DataSetChanged;
 
 
 begin
 begin
   RecordChanged(Nil);
   RecordChanged(Nil);
 end;
 end;
 
 
 
 
-Procedure TDataLink.DataSetScrolled(Distance: Integer); 
+Procedure TDataLink.DataSetScrolled(Distance: Integer);
 
 
 begin
 begin
   DataSetChanged;
   DataSetChanged;
 end;
 end;
 
 
 
 
-Procedure TDataLink.EditingChanged; 
+Procedure TDataLink.EditingChanged;
 
 
 begin
 begin
 end;
 end;
 
 
 
 
-Procedure TDataLink.FocusControl(Field: TFieldRef); 
+Procedure TDataLink.FocusControl(Field: TFieldRef);
 
 
 begin
 begin
 end;
 end;
 
 
 
 
-Function TDataLink.GetActiveRecord: Integer; 
+Function TDataLink.GetActiveRecord: Integer;
 
 
 begin
 begin
   Result:=Dataset.FActiveRecord;
   Result:=Dataset.FActiveRecord;
@@ -148,28 +148,28 @@ begin
 end;
 end;
 
 
 
 
-Function TDataLink.GetBOF: Boolean; 
+Function TDataLink.GetBOF: Boolean;
 
 
 begin
 begin
   Result:=DataSet.BOF
   Result:=DataSet.BOF
 end;
 end;
 
 
 
 
-Function TDataLink.GetBufferCount: Integer; 
+Function TDataLink.GetBufferCount: Integer;
 
 
 begin
 begin
   Result:=FBufferCount;
   Result:=FBufferCount;
 end;
 end;
 
 
 
 
-Function TDataLink.GetEOF: Boolean; 
+Function TDataLink.GetEOF: Boolean;
 
 
 begin
 begin
   Result:=DataSet.EOF
   Result:=DataSet.EOF
 end;
 end;
 
 
 
 
-Function TDataLink.GetRecordCount: Integer; 
+Function TDataLink.GetRecordCount: Integer;
 
 
 Var D : TDataSet;
 Var D : TDataSet;
 
 
@@ -180,34 +180,34 @@ begin
 end;
 end;
 
 
 
 
-Procedure TDataLink.LayoutChanged; 
+Procedure TDataLink.LayoutChanged;
 
 
 begin
 begin
   DataSetChanged;
   DataSetChanged;
 end;
 end;
 
 
 
 
-Function TDataLink.MoveBy(Distance: Integer): Integer; 
+Function TDataLink.MoveBy(Distance: Integer): Integer;
 
 
 begin
 begin
   DataSet.MoveBy(Distance);
   DataSet.MoveBy(Distance);
 end;
 end;
 
 
 
 
-Procedure TDataLink.RecordChanged(Field: TField); 
+Procedure TDataLink.RecordChanged(Field: TField);
 
 
 begin
 begin
 end;
 end;
 
 
 
 
-Procedure TDataLink.SetActiveRecord(Value: Integer); 
+Procedure TDataLink.SetActiveRecord(Value: Integer);
 
 
 begin
 begin
   Dataset.FActiveRecord:=Value;
   Dataset.FActiveRecord:=Value;
 end;
 end;
 
 
 
 
-Procedure TDataLink.SetBufferCount(Value: Integer); 
+Procedure TDataLink.SetBufferCount(Value: Integer);
 
 
 begin
 begin
   If FBUfferCount<>Value then
   If FBUfferCount<>Value then
@@ -240,7 +240,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-Procedure TDatalink.SetReadOnly(Value : Boolean); 
+Procedure TDatalink.SetReadOnly(Value : Boolean);
 
 
 begin
 begin
   If FReadOnly<>Value then
   If FReadOnly<>Value then
@@ -250,7 +250,7 @@ begin
     end;
     end;
 end;
 end;
 
 
-Procedure TDataLink.UpdateData; 
+Procedure TDataLink.UpdateData;
 
 
 begin
 begin
 end;
 end;
@@ -263,7 +263,7 @@ begin
   If Not FReadOnly then
   If Not FReadOnly then
     DataSource.Edit;
     DataSource.Edit;
   // Triggered event will set FEditing
   // Triggered event will set FEditing
-  Result:=FEditing;  
+  Result:=FEditing;
 end;
 end;
 
 
 
 
@@ -283,8 +283,8 @@ end;
 { ---------------------------------------------------------------------
 { ---------------------------------------------------------------------
     TDetailDataLink
     TDetailDataLink
   ---------------------------------------------------------------------}
   ---------------------------------------------------------------------}
-  
-Function TDetailDataLink.GetDetailDataSet: TDataSet; 
+
+Function TDetailDataLink.GetDetailDataSet: TDataSet;
 
 
 begin
 begin
 end;
 end;
@@ -300,38 +300,38 @@ begin
 end;
 end;
 
 
 
 
-destructor TMasterDataLink.Destroy; 
+destructor TMasterDataLink.Destroy;
 
 
 begin
 begin
   inherited Destroy;
   inherited Destroy;
 end;
 end;
-  
 
 
-Procedure TMasterDataLink.ActiveChanged; 
+
+Procedure TMasterDataLink.ActiveChanged;
 
 
 begin
 begin
 end;
 end;
 
 
 
 
-Procedure TMasterDataLink.CheckBrowseMode; 
+Procedure TMasterDataLink.CheckBrowseMode;
 
 
 begin
 begin
 end;
 end;
 
 
 
 
-Function TMasterDataLink.GetDetailDataSet: TDataSet; 
+Function TMasterDataLink.GetDetailDataSet: TDataSet;
 
 
 begin
 begin
 end;
 end;
 
 
 
 
-Procedure TMasterDataLink.LayoutChanged; 
+Procedure TMasterDataLink.LayoutChanged;
 
 
 begin
 begin
 end;
 end;
 
 
 
 
-Procedure TMasterDataLink.RecordChanged(Field: TField); 
+Procedure TMasterDataLink.RecordChanged(Field: TField);
 
 
 begin
 begin
 end;
 end;
@@ -345,8 +345,8 @@ end;
 { ---------------------------------------------------------------------
 { ---------------------------------------------------------------------
     TDatasource
     TDatasource
   ---------------------------------------------------------------------}
   ---------------------------------------------------------------------}
-    
-Constructor TDataSource.Create(AOwner: TComponent); 
+
+Constructor TDataSource.Create(AOwner: TComponent);
 
 
 begin
 begin
   Inherited Create(AOwner);
   Inherited Create(AOwner);
@@ -356,12 +356,12 @@ begin
 end;
 end;
 
 
 
 
-Destructor TDataSource.Destroy; 
+Destructor TDataSource.Destroy;
 
 
 begin
 begin
   FOnStateCHange:=Nil;
   FOnStateCHange:=Nil;
   Dataset:=Nil;
   Dataset:=Nil;
-  With FDataLinks do 
+  With FDataLinks do
     While Count>0 do
     While Count>0 do
       TDatalink(Items[Count - 1]).DataSource:=Nil;
       TDatalink(Items[Count - 1]).DataSource:=Nil;
   FDatalinks.Free;
   FDatalinks.Free;
@@ -387,7 +387,7 @@ end;
 procedure TDatasource.DistributeEvent(Event: TDataEvent; Info: Longint);
 procedure TDatasource.DistributeEvent(Event: TDataEvent; Info: Longint);
 
 
 
 
-Var 
+Var
   i : Longint;
   i : Longint;
 
 
 begin
 begin
@@ -396,11 +396,11 @@ begin
     For I:=0 to Count-1 do
     For I:=0 to Count-1 do
       With TDatalink(Items[i]) do
       With TDatalink(Items[i]) do
         If Not VisualControl Then
         If Not VisualControl Then
-          DataEvent(Event,Info); 
+          DataEvent(Event,Info);
     For I:=0 to Count-1 do
     For I:=0 to Count-1 do
       With TDatalink(Items[i]) do
       With TDatalink(Items[i]) do
         If VisualControl Then
         If VisualControl Then
-          DataEvent(Event,Info); 
+          DataEvent(Event,Info);
     end;
     end;
 end;
 end;
 
 
@@ -420,7 +420,7 @@ begin
     FDataset.UnRegisterDataSource(Self);
     FDataset.UnRegisterDataSource(Self);
   If ADataset<>Nil Then
   If ADataset<>Nil Then
     ADataset.RegisterDatasource(Self);
     ADataset.RegisterDatasource(Self);
-  FDataSet:=ADataset;  
+  FDataSet:=ADataset;
   ProcessEvent(deUpdateState,0);
   ProcessEvent(deUpdateState,0);
 end;
 end;
 
 
@@ -442,7 +442,7 @@ end;
 Procedure TDatasource.DoStateChange;
 Procedure TDatasource.DoStateChange;
 
 
 begin
 begin
-  If Assigned(OnStateChange) Then 
+  If Assigned(OnStateChange) Then
     OnStateChange(Self);
     OnStateChange(Self);
 end;
 end;
 
 
@@ -450,7 +450,7 @@ end;
 Procedure TDatasource.DoUpdateData;
 Procedure TDatasource.DoUpdateData;
 
 
 begin
 begin
-  If Assigned(OnUpdateData) Then 
+  If Assigned(OnUpdateData) Then
     OnUpdateData(Self);
     OnUpdateData(Self);
 end;
 end;
 
 
@@ -459,22 +459,22 @@ procedure TDatasource.UnregisterDataLink(DataLink: TDataLink);
 
 
 begin
 begin
   FDatalinks.Remove(Datalink);
   FDatalinks.Remove(Datalink);
-  If Dataset<>Nil then 
+  If Dataset<>Nil then
     Dataset.SetBufListSize(DataLink.BufferCount);
     Dataset.SetBufListSize(DataLink.BufferCount);
 end;
 end;
 
 
 
 
 procedure TDataSource.ProcessEvent(Event : TDataEvent; Info : longint);
 procedure TDataSource.ProcessEvent(Event : TDataEvent; Info : longint);
 
 
-Const 
-  OnDataChangeEvents = [deRecordChange, deDataSetChange, 
-                           deDataSetScroll, 
+Const
+  OnDataChangeEvents = [deRecordChange, deDataSetChange,
+                           deDataSetScroll,
                            deLayoutChange,deUpdateState];
                            deLayoutChange,deUpdateState];
 
 
 Var
 Var
   NeedDataChange : Boolean;
   NeedDataChange : Boolean;
   FLastState : TdataSetState;
   FLastState : TdataSetState;
-  
+
 begin
 begin
   // Special UpdateState handling.
   // Special UpdateState handling.
   If Event=deUpdateState then
   If Event=deUpdateState then
@@ -484,20 +484,20 @@ begin
     If Assigned(Dataset) then
     If Assigned(Dataset) then
       FState:=Dataset.State
       FState:=Dataset.State
     else
     else
-      FState:=dsInactive;  
-    // Don't do events if nothing changed.  
-    If FState<>FlastState then 
-      exit;  
+      FState:=dsInactive;
+    // Don't do events if nothing changed.
+    If FState<>FlastState then
+      exit;
     end
     end
   else
   else
-    NeedDataChange:=True;  
+    NeedDataChange:=True;
   DistributeEvent(Event,Info);
   DistributeEvent(Event,Info);
   // Extra handlers
   // Extra handlers
   If Not (csDestroying in ComponentState) then
   If Not (csDestroying in ComponentState) then
     begin
     begin
     If (Event=deUpdateState) then
     If (Event=deUpdateState) then
       DoStateChange;
       DoStateChange;
-    If (Event in OnDataChangeEvents) and 
+    If (Event in OnDataChangeEvents) and
        NeedDataChange Then
        NeedDataChange Then
       DoDataChange(Nil);
       DoDataChange(Nil);
     If (Event = deFieldChange) Then
     If (Event = deFieldChange) Then
@@ -505,4 +505,4 @@ begin
     If (Event=deUpdateRecord) then
     If (Event=deUpdateRecord) then
       DoUpdateData;
       DoUpdateData;
     end;
     end;
- end;
+ end;

+ 47 - 56
fcl/db/db.pp

@@ -76,14 +76,14 @@ type
     ftBoolean, ftFloat, ftDate, ftTime, ftDateTime,
     ftBoolean, ftFloat, ftDate, ftTime, ftDateTime,
     ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic,
     ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic,
     ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor);
     ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor);
-}    
-    
-  TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, 
-    ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate,  ftTime, ftDateTime, 
-    ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, 
-    ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, 
-    ftWideString, ftLargeint, ftADT, ftArray, ftReference, 
-    ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, 
+}
+
+  TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
+    ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate,  ftTime, ftDateTime,
+    ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
+    ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar,
+    ftWideString, ftLargeint, ftADT, ftArray, ftReference,
+    ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface,
     ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
     ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
 
 
   TFieldDef = class(TComponent)
   TFieldDef = class(TComponent)
@@ -1202,43 +1202,43 @@ type
 Const
 Const
   Fieldtypenames : Array [TFieldType] of String[15] =
   Fieldtypenames : Array [TFieldType] of String[15] =
     (
     (
-      'Unknown', 
-      'String', 
-      'Smallint', 
-      'Integer', 
-      'Word', 
-      'Boolean', 
-      'Float', 
-      'Currency', 
-      'BCD', 
-      'Date',  
-      'Time', 
-      'DateTime', 
-      'Bytes', 
-      'VarBytes', 
-      'AutoInc', 
-      'Blob', 
-      'Memo', 
-      'Graphic', 
-      'FmtMemo', 
-      'ParadoxOle', 
-      'DBaseOle', 
-      'TypedBinary', 
-      'Cursor', 
-      'FixedChar', 
-      'WideString', 
-      'Largeint', 
-      'ADT', 
-      'Array', 
-      'Reference', 
-      'DataSet', 
-      'OraBlob', 
-      'OraClob', 
-      'Variant', 
-      'Interface', 
-      'IDispatch', 
-      'Guid', 
-      'TimeStamp', 
+      'Unknown',
+      'String',
+      'Smallint',
+      'Integer',
+      'Word',
+      'Boolean',
+      'Float',
+      'Currency',
+      'BCD',
+      'Date',
+      'Time',
+      'DateTime',
+      'Bytes',
+      'VarBytes',
+      'AutoInc',
+      'Blob',
+      'Memo',
+      'Graphic',
+      'FmtMemo',
+      'ParadoxOle',
+      'DBaseOle',
+      'TypedBinary',
+      'Cursor',
+      'FixedChar',
+      'WideString',
+      'Largeint',
+      'ADT',
+      'Array',
+      'Reference',
+      'DataSet',
+      'OraBlob',
+      'OraClob',
+      'Variant',
+      'Interface',
+      'IDispatch',
+      'Guid',
+      'TimeStamp',
       'FMTBcd'
       'FMTBcd'
     );
     );
     { 'Unknown',
     { 'Unknown',
@@ -1457,16 +1457,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2001-01-18 22:10:07  michael
-  + Fixes to make dbase working merged from fixbranch
-
-  Revision 1.4  2000/12/24 12:45:19  peter
-    * merges from 1.0.x branch
-
-  Revision 1.3  2000/09/02 09:36:36  sg
-  * Changed all occurences of TAbstractReader to TReader, as FCL streaming
-    is source compatible to VCL streaming now (for quite a while, BTW)
+  Revision 1.6  2002-09-07 15:15:23  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:56  michael
-  + removed logs
 }
 }

+ 19 - 19
fcl/db/dbase/dbf.pas

@@ -10,7 +10,7 @@ uses
 {$else}
 {$else}
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   Db,  DsgnIntf, ExptIntf;
   Db,  DsgnIntf, ExptIntf;
-{$endif}  
+{$endif}
 // If you got a compilation error here or asking for dsgntf.pas, then just add
 // If you got a compilation error here or asking for dsgntf.pas, then just add
 // this file in your project:
 // this file in your project:
 // dsgnintf.pas in 'C:\Program Files\Borland\Delphi5\Source\Toolsapi\dsgnintf.pas'
 // dsgnintf.pas in 'C:\Program Files\Borland\Delphi5\Source\Toolsapi\dsgnintf.pas'
@@ -32,7 +32,7 @@ const
   DirSeparator = '/';
   DirSeparator = '/';
 {$else}
 {$else}
   DirSeparator = '\';
   DirSeparator = '\';
-{$endif}  
+{$endif}
 
 
 //====================================================================
 //====================================================================
 // Delphi is a bit to permissive for me,  I mean protected doesn't work within
 // Delphi is a bit to permissive for me,  I mean protected doesn't work within
@@ -394,8 +394,8 @@ type
 {$else}
 {$else}
     procedure AddIndex(const AnIndexName, IndexFields: String; Options: TIndexOptions);
     procedure AddIndex(const AnIndexName, IndexFields: String; Options: TIndexOptions);
     procedure AddIndex(const AnIndexName, IndexFields: String; Options: TIndexOptions; const DescFields: String);
     procedure AddIndex(const AnIndexName, IndexFields: String; Options: TIndexOptions; const DescFields: String);
- 
-{$endif}    
+
+{$endif}
 {$endif}
 {$endif}
     procedure CloseIndexFile(const IndexFileName: string);
     procedure CloseIndexFile(const IndexFileName: string);
     procedure OpenIndexFile(AnIndexName:string);
     procedure OpenIndexFile(AnIndexName:string);
@@ -412,7 +412,7 @@ type
     procedure Translate(Src, Dest: PChar; ToOem: Boolean); override; {virtual}
     procedure Translate(Src, Dest: PChar; ToOem: Boolean); override; {virtual}
 {$else}
 {$else}
     function Translate(Src, Dest: PChar; ToOem: Boolean): Integer; override; {virtual}
     function Translate(Src, Dest: PChar; ToOem: Boolean): Integer; override; {virtual}
-{$endif}  
+{$endif}
 {$endif}
 {$endif}
     procedure ClearCalcFields(Buffer : PChar); override;
     procedure ClearCalcFields(Buffer : PChar); override;
   protected
   protected
@@ -733,11 +733,11 @@ begin
     RecordSize:=_DataHdr.RecordSize;
     RecordSize:=_DataHdr.RecordSize;
     lRecordCount:=CalcRecordCount;
     lRecordCount:=CalcRecordCount;
     if _DataHdr.RecordCount <> lRecordCount then begin
     if _DataHdr.RecordCount <> lRecordCount then begin
-{$ifndef fpc}    
+{$ifndef fpc}
       ShowMessage('Invalid Record Count,'+^M+
       ShowMessage('Invalid Record Count,'+^M+
       'RecordCount in Hdr : '+IntToStr(_DataHdr.RecordCount)+^M+
       'RecordCount in Hdr : '+IntToStr(_DataHdr.RecordCount)+^M+
       'expected : '+IntToStr(lRecordCount));
       'expected : '+IntToStr(lRecordCount));
-{$endif}      
+{$endif}
       _DataHdr.RecordCount := lRecordCount;
       _DataHdr.RecordCount := lRecordCount;
     end;
     end;
   end;
   end;
@@ -1224,7 +1224,7 @@ begin
   _DataHdr.Year := SystemTime.Year - 1900;
   _DataHdr.Year := SystemTime.Year - 1900;
   _DataHdr.Month := SystemTime.Month;
   _DataHdr.Month := SystemTime.Month;
   _DataHdr.Day := SystemTime.Day;
   _DataHdr.Day := SystemTime.Day;
-{$endif}  
+{$endif}
   Stream.Seek(0,soFromBeginning);
   Stream.Seek(0,soFromBeginning);
   Stream.WriteBuffer (_DataHdr, SizeOf(_DataHdr));
   Stream.WriteBuffer (_DataHdr, SizeOf(_DataHdr));
   _DataHdr.RecordCount := CalcRecordCount;
   _DataHdr.RecordCount := CalcRecordCount;
@@ -1312,7 +1312,7 @@ begin
     end else begin
     end else begin
 {$ifndef fpc}
 {$ifndef fpc}
       lPath:=extractfilepath(Application.Exename)+_RunTimePath;
       lPath:=extractfilepath(Application.Exename)+_RunTimePath;
-{$else}      
+{$else}
       lPath:=extractfilepath(paramstr(0))+_RunTimePath;
       lPath:=extractfilepath(paramstr(0))+_RunTimePath;
 {$endif}
 {$endif}
     end;
     end;
@@ -1405,10 +1405,10 @@ begin
     Dbf._dbfFile.SetFieldData(Field.FieldNo-1,
     Dbf._dbfFile.SetFieldData(Field.FieldNo-1,
       ftInteger,@MemoRecno,@pDbfRecord(TDbf(Field.DataSet).ActiveBuffer)^.deletedflag);
       ftInteger,@MemoRecno,@pDbfRecord(TDbf(Field.DataSet).ActiveBuffer)^.deletedflag);
     // seems not bad
     // seems not bad
-{$ifndef fpc}    
+{$ifndef fpc}
     // FPC doesn't allow to call protected methods ?!!
     // FPC doesn't allow to call protected methods ?!!
     Dbf.SetModified(true);
     Dbf.SetModified(true);
-{$endif}    
+{$endif}
     // but would that be better
     // but would that be better
     //if not (State in [dsCalcFields, dsFilter, dsNewValue]) then begin
     //if not (State in [dsCalcFields, dsFilter, dsNewValue]) then begin
     //  DataEvent(deFieldChange, Longint(Field));
     //  DataEvent(deFieldChange, Longint(Field));
@@ -1530,7 +1530,7 @@ begin
     Result := Boolean(PChar(Ptr)[0]);
     Result := Boolean(PChar(Ptr)[0]);
 {$else}
 {$else}
     Result := (Pchar(ptr)[0]<>#0);
     Result := (Pchar(ptr)[0]<>#0);
-{$endif}    
+{$endif}
     if Result and (Buffer <> nil) then
     if Result and (Buffer <> nil) then
       Move(PChar(Ptr)[1], Buffer^, Field.DataSize);
       Move(PChar(Ptr)[1], Buffer^, Field.DataSize);
   end;
   end;
@@ -1659,7 +1659,7 @@ procedure TDbf.InternalHandleException; {override virtual abstract from TDataset
 begin
 begin
 {$ifndef fpc}
 {$ifndef fpc}
   Application.HandleException(Self);
   Application.HandleException(Self);
-{$endif}  
+{$endif}
 end;
 end;
 
 
 procedure TDbf.InternalInitFieldDefs; {override virtual abstract from TDataset}
 procedure TDbf.InternalInitFieldDefs; {override virtual abstract from TDataset}
@@ -1975,7 +1975,7 @@ end;
 procedure TDbf.AddIndex(const AnIndexName, IndexFields: String; Options: TIndexOptions);
 procedure TDbf.AddIndex(const AnIndexName, IndexFields: String; Options: TIndexOptions);
 
 
 begin
 begin
-  AddIndex(indexName,IndexFields,options,'');  
+  AddIndex(indexName,IndexFields,options,'');
 end;
 end;
 {$endif}
 {$endif}
 
 
@@ -2004,9 +2004,9 @@ begin
   lIndex:=TIndex.Create(lIndexFile,0,true);
   lIndex:=TIndex.Create(lIndexFile,0,true);
 {$ifndef fpc}
 {$ifndef fpc}
   lIndex.InitFieldDef(_DbfFile,Fields);
   lIndex.InitFieldDef(_DbfFile,Fields);
-{$else}  
+{$else}
   lIndex.InitFieldDef(_DbfFile,IndexFields);
   lIndex.InitFieldDef(_DbfFile,IndexFields);
-{$endif}  
+{$endif}
   with lIndex._NdxHdr do begin
   with lIndex._NdxHdr do begin
     startpage:=1;
     startpage:=1;
     nbPage:=1;
     nbPage:=1;
@@ -2018,11 +2018,11 @@ begin
     keyreclen:=lindex._FieldLen+8;
     keyreclen:=lindex._FieldLen+8;
     Unique:=0;
     Unique:=0;
     KeyDesc[0]:=' ';
     KeyDesc[0]:=' ';
-{$ifndef fpc}    
+{$ifndef fpc}
     StrLCopy(KeyDesc,PChar(UpperCase(Fields)),255);
     StrLCopy(KeyDesc,PChar(UpperCase(Fields)),255);
-{$else}    
+{$else}
     StrLCopy(KeyDesc,PChar(UpperCase(IndexFields)),255);
     StrLCopy(KeyDesc,PChar(UpperCase(IndexFields)),255);
-{$endif}    
+{$endif}
   end;
   end;
   lindex._IndexFile._Seek(lindex._RootPage);
   lindex._IndexFile._Seek(lindex._RootPage);
   lindex._IndexFile.Stream.Write(lindex._NdxHdr,SizeOf(lindex._NdxHdr));
   lindex._IndexFile.Stream.Write(lindex._NdxHdr,SizeOf(lindex._NdxHdr));

+ 3 - 3
fcl/db/dbase/testdbf.pp

@@ -10,7 +10,7 @@ Var
   I,Count : longint;
   I,Count : longint;
   F : Text;
   F : Text;
   Buf : Array[1..1024*4] of byte;
   Buf : Array[1..1024*4] of byte;
-  
+
 begin
 begin
   Assign(F,FN);
   Assign(F,FN);
   Rewrite(F);
   Rewrite(F);
@@ -23,7 +23,7 @@ begin
       begin
       begin
       Inc(Count);
       Inc(Count);
       For I:=0 to FieldCount-1 do
       For I:=0 to FieldCount-1 do
-        With Fields[i] do 
+        With Fields[i] do
           Writeln(F,FieldName:20,' : ',AsString);
           Writeln(F,FieldName:20,' : ',AsString);
       Writeln(F,StringOfChar('=',72));
       Writeln(F,StringOfChar('=',72));
       Next;
       Next;
@@ -42,4 +42,4 @@ begin
     Halt(1);
     Halt(1);
     end;
     end;
   DumpTable(Paramstr(1),Paramstr(2));
   DumpTable(Paramstr(1),Paramstr(2));
-end.
+end.

+ 2 - 4
fcl/db/dbs.inc

@@ -45,9 +45,7 @@ Const
   SNotInEditState = 'Operation not allowed, dataset "%s" is not in an edit state.';
   SNotInEditState = 'Operation not allowed, dataset "%s" is not in an edit state.';
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-12-24 12:45:19  peter
-    * merges from 1.0.x branch
+  Revision 1.4  2002-09-07 15:15:23  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:56  michael
-  + removed logs
 }
 }

+ 7 - 7
fcl/db/ddg_ds.pp

@@ -9,7 +9,7 @@ uses Db, Classes, DDG_Rec;
 type
 type
 
 
   PInteger =  ^Integer;
   PInteger =  ^Integer;
-  
+
   // Bookmark information record to support TDataset bookmarks:
   // Bookmark information record to support TDataset bookmarks:
   PDDGBookmarkInfo = ^TDDGBookmarkInfo;
   PDDGBookmarkInfo = ^TDDGBookmarkInfo;
   TDDGBookmarkInfo = record
   TDDGBookmarkInfo = record
@@ -328,7 +328,7 @@ begin
   TFieldDef.Create(FieldDefs, 'DateTimeField', ftDateTime, 0, false, 6);
   TFieldDef.Create(FieldDefs, 'DateTimeField', ftDateTime, 0, false, 6);
   TFieldDef.Create(FieldDefs, 'TimeField',ftTime, 0, false, 7);
   TFieldDef.Create(FieldDefs, 'TimeField',ftTime, 0, false, 7);
   TFieldDef.Create(FieldDefs, 'DateField',ftDate, 0, false, 8);
   TFieldDef.Create(FieldDefs, 'DateField',ftDate, 0, false, 8);
-  TFieldDef.Create(FieldDefs, 'Booleanfield',ftboolean, 0, False, 9); 
+  TFieldDef.Create(FieldDefs, 'Booleanfield',ftboolean, 0, False, 9);
 end;
 end;
 
 
 procedure TDDGDataSet.InternalLast;
 procedure TDDGDataSet.InternalLast;
@@ -401,14 +401,14 @@ begin
       FileClose(HFile);
       FileClose(HFile);
     end
     end
    else
    else
- }  
+ }
       DatabaseError('Could not open table');
       DatabaseError('Could not open table');
   end;
   end;
   // open data file
   // open data file
   FileMode := fmOpenReadWrite;
   FileMode := fmOpenReadWrite;
   Writeln ('OPening data file');
   Writeln ('OPening data file');
   AssignFile(FDataFile, FTableName);
   AssignFile(FDataFile, FTableName);
-  Reset(FDataFile);  
+  Reset(FDataFile);
   try
   try
     writeln ('Loading index file');
     writeln ('Loading index file');
     FIndexList.LoadFromFile(FIdxName); // initialize index TList from file
     FIndexList.LoadFromFile(FIdxName); // initialize index TList from file
@@ -528,7 +528,7 @@ end;
 
 
 end.
 end.
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:56  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:23  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 3
fcl/db/ddg_rec.pp

@@ -31,7 +31,7 @@ implementation
 
 
 end.
 end.
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:56  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:23  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 2 - 14
fcl/db/fields.inc

@@ -1776,19 +1776,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.6  2001-04-10 23:28:23  peter
-    * merged fixes
+  Revision 1.7  2002-09-07 15:15:23  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.5  2001/01/18 22:10:07  michael
-  + Fixes to make dbase working merged from fixbranch
-
-  Revision 1.4  2000/12/24 12:45:19  peter
-    * merges from 1.0.x branch
-
-  Revision 1.3  2000/09/02 09:36:36  sg
-  * Changed all occurences of TAbstractReader to TReader, as FCL streaming
-    is source compatible to VCL streaming now (for quite a while, BTW)
-
-  Revision 1.2  2000/07/13 11:32:56  michael
-  + removed logs
 }
 }

+ 1 - 1
fcl/db/interbase/BUGS.known

@@ -1,2 +1,2 @@
   * TDateTime field interpretation
   * TDateTime field interpretation
-  * Some problems with TIBDataset.Close (fields)
+  * Some problems with TIBDataset.Close (fields)

+ 1 - 1
fcl/db/interbase/README

@@ -62,4 +62,4 @@ Volunteers, testers, suggestions etc. are always welcome,
 mailto address below
 mailto address below
 
 
 Pavel Stingl
 Pavel Stingl
[email protected] 
[email protected] 

+ 18 - 21
fcl/db/interbase/testib.pp

@@ -1,9 +1,9 @@
-{   $Id$     
-    
+{   $Id$
+
     Copyright (c) 2000 by Pavel Stingl
     Copyright (c) 2000 by Pavel Stingl
 
 
     Interbase testing program
     Interbase testing program
-    
+
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
 
 
@@ -30,27 +30,27 @@ begin
   Database := TIBDatabase.Create(nil);
   Database := TIBDatabase.Create(nil);
   Trans    := TIBTransaction.Create(nil);
   Trans    := TIBTransaction.Create(nil);
   Query    := TIBQuery.Create(nil);
   Query    := TIBQuery.Create(nil);
-  
+
   Database.DatabaseName := 'test.gdb';
   Database.DatabaseName := 'test.gdb';
   Database.UserName     := 'sysdba';
   Database.UserName     := 'sysdba';
   Database.Password     := 'masterkey';
   Database.Password     := 'masterkey';
   Database.Transaction  := Trans;
   Database.Transaction  := Trans;
   Trans.Action          := caRollback;
   Trans.Action          := caRollback;
   Trans.Active          := True;
   Trans.Active          := True;
-  
-  
+
+
   Write('Opening database... Database.Connected = ');
   Write('Opening database... Database.Connected = ');
   Database.Open;
   Database.Open;
   WriteLn(Database.Connected);
   WriteLn(Database.Connected);
-  
+
   // Assigning database to dataset
   // Assigning database to dataset
   Query.Database := Database;
   Query.Database := Database;
-  
+
   Query.SQL.Add('select * from fpdev');
   Query.SQL.Add('select * from fpdev');
   Query.Open;
   Query.Open;
-  
+
   WriteLn;
   WriteLn;
-  
+
   while not Query.EOF do
   while not Query.EOF do
   begin
   begin
     for x := 0 to Query.FieldCount - 2 do
     for x := 0 to Query.FieldCount - 2 do
@@ -58,10 +58,10 @@ begin
     WriteLn(Query.Fields[Query.FieldCount - 1].AsString);
     WriteLn(Query.Fields[Query.FieldCount - 1].AsString);
     Query.Next;
     Query.Next;
   end;
   end;
-  
+
   WriteLn;
   WriteLn;
-  
-  
+
+
   try
   try
     WriteLn('Trying to insert new record to table fpdev');
     WriteLn('Trying to insert new record to table fpdev');
     Query.Close;
     Query.Close;
@@ -78,11 +78,11 @@ begin
       Trans.RollbackRetaining;
       Trans.RollbackRetaining;
     end;
     end;
   end;
   end;
-  
+
   WriteLn;
   WriteLn;
-  
+
   Trans.Commit;
   Trans.Commit;
-  
+
   Write('Closing database... Database.Connected = ');
   Write('Closing database... Database.Connected = ');
   Database.Close;
   Database.Close;
   WriteLn(Database.Connected);
   WriteLn(Database.Connected);
@@ -90,10 +90,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-12-02 15:21:47  michael
-  + Merged from the fixbranch
+  Revision 1.4  2002-09-07 15:15:23  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:57  michael
-  + removed logs
- 
 }
 }

+ 3 - 21
fcl/db/mysql/mtest.pp

@@ -182,25 +182,7 @@ end.
 
 
 {
 {
    $Log$
    $Log$
-   Revision 1.1  2001-01-24 22:19:04  peter
-     * mysql units moved to mysql/ dir
+   Revision 1.2  2002-09-07 15:15:23  peter
+     * old logs removed and tabs fixed
 
 
-   Revision 1.1  2000/09/01 22:02:10  peter
-     * build also db
-
-   Revision 1.1  2000/07/13 06:31:27  michael
-   + Initial import
-
-   Revision 1.5  2000/01/07 01:24:32  peter
-     * updated copyright to 2000
-
-   Revision 1.4  2000/01/06 01:20:32  peter
-     * moved out of packages/ back to topdir
-
-   Revision 1.1  2000/01/03 19:33:06  peter
-     * moved to packages dir
-
-   Revision 1.2  1999/10/24 17:07:54  michael
-   + Added copyright header
-
-}
+}

+ 10 - 13
fcl/db/mysql/mysqldb.pp

@@ -15,7 +15,7 @@ type
                           end;
                           end;
 
 
   Pinteger = ^Integer;
   Pinteger = ^Integer;
-  
+
   TMySQLDataset = class(TDataSet)
   TMySQLDataset = class(TDataSet)
   private
   private
     FSQL: TStrings;
     FSQL: TStrings;
@@ -204,7 +204,7 @@ begin
      Result := False;
      Result := False;
 
 
      CurBuf := ActiveBuffer;
      CurBuf := ActiveBuffer;
-     
+
      FC := mysql_num_fields(FMYSQLRES);
      FC := mysql_num_fields(FMYSQLRES);
      for I := 0 to FC-1 do
      for I := 0 to FC-1 do
      begin
      begin
@@ -219,7 +219,7 @@ begin
                   Result := PChar(buffer)^ <> #0
                   Result := PChar(buffer)^ <> #0
                else
                else
                    Result := True;
                    Result := True;
-               break; 
+               break;
           end
           end
           else
           else
               Inc(CurBuf, MySQLDataSize(fld.ftype, fld.length));
               Inc(CurBuf, MySQLDataSize(fld.ftype, fld.length));
@@ -269,7 +269,7 @@ begin
                begin
                begin
                     BookmarkData := FCurrentRecord;
                     BookmarkData := FCurrentRecord;
                     BookmarkFlag := bfCurrent;
                     BookmarkFlag := bfCurrent;
-               end;               
+               end;
           end
           end
           else
           else
               if (Result = grError) and (DoCheck) then
               if (Result = grError) and (DoCheck) then
@@ -297,7 +297,7 @@ begin
      FCurrentRecord := -1;
      FCurrentRecord := -1;
 
 
      DoClose;
      DoClose;
-    
+
      if DefaultFields then
      if DefaultFields then
         DestroyFields;
         DestroyFields;
 end;
 end;
@@ -545,7 +545,7 @@ begin
           field := mysql_fetch_field_direct(FMYSQLRES, I);
           field := mysql_fetch_field_direct(FMYSQLRES, I);
           CT := MySQLWriteFieldData(field.ftype, field.length, row^, Buffer);
           CT := MySQLWriteFieldData(field.ftype, field.length, row^, Buffer);
           Inc(Buffer, CT);
           Inc(Buffer, CT);
-          Inc(row); 
+          Inc(row);
      end;
      end;
 end;
 end;
 
 
@@ -580,7 +580,7 @@ function TMySQLDataset.MySQLWriteFieldData(AType: enum_field_types;
 var
 var
   VI: Integer;
   VI: Integer;
   VF: Double;
   VF: Double;
-  VD: TDateTime;  
+  VD: TDateTime;
 begin
 begin
      Result := 0;
      Result := 0;
      case AType of
      case AType of
@@ -592,7 +592,7 @@ begin
                  VI := StrToInt(Source)
                  VI := StrToInt(Source)
               else
               else
                   VI := 0;
                   VI := 0;
-              Move(VI, Dest^, Result);              
+              Move(VI, Dest^, Result);
          end;
          end;
        FIELD_TYPE_DECIMAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE:
        FIELD_TYPE_DECIMAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE:
          begin
          begin
@@ -790,10 +790,7 @@ end;
 
 
 end.
 end.
   $Log$
   $Log$
-  Revision 1.1  2001-01-24 22:19:04  peter
-    * mysql units moved to mysql/ dir
+  Revision 1.2  2002-09-07 15:15:23  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:56  michael
-  + removed logs
- 
 }
 }

+ 2 - 2
fcl/db/odbc/testbcon.pp

@@ -21,7 +21,7 @@ procedure TApp.GetParams(Sender: TObject; ListIn, ListOut: TStrings);
 Var
 Var
   S : String;
   S : String;
   i : integer;
   i : integer;
-  
+
 begin
 begin
   Writeln('Input parameters were :');
   Writeln('Input parameters were :');
   With ListIN do
   With ListIN do
@@ -60,4 +60,4 @@ begin
     Finally
     Finally
       Free;
       Free;
     end;
     end;
-end.
+end.

+ 1 - 1
fcl/db/odbc/testenv.pp

@@ -42,4 +42,4 @@ begin
     If not UseDefault then
     If not UseDefault then
       env.free;
       env.free;
   end;
   end;
-end.
+end.

BIN
fcl/db/odbc/testodbc.mdb


+ 1 - 1
fcl/db/odbc/testpa.pp

@@ -22,7 +22,7 @@ begin
         Writeln('Found ',ProcedureParams.Count,' parameters of type ',ODBCParamTypeNames[Pt],' :');
         Writeln('Found ',ProcedureParams.Count,' parameters of type ',ODBCParamTypeNames[Pt],' :');
          For I:=0 to ProcedureParams.Count-1 do
          For I:=0 to ProcedureParams.Count-1 do
           Writeln(ProcedureParams[i]);
           Writeln(ProcedureParams[i]);
-        end;  
+        end;
     finally
     finally
       ProcedureParams.Free;
       ProcedureParams.Free;
     end;
     end;

+ 1 - 1
fcl/db/odbc/testsql.pp

@@ -24,7 +24,7 @@ begin
   With F do
   With F do
     begin
     begin
     Write(Name:12,BufType:5,'  ');
     Write(Name:12,BufType:5,'  ');
-    If IsNull then  
+    If IsNull then
       Writeln('(Null)')
       Writeln('(Null)')
     else
     else
       Case BufType of
       Case BufType of

+ 3 - 22
fcl/db/tests/createds.pp

@@ -66,26 +66,7 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2000-09-01 22:02:10  peter
-    * build also db
+  Revision 1.2  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.1  2000/07/13 06:31:27  michael
-  + Initial import
-
-  Revision 1.6  2000/01/07 01:24:32  peter
-    * updated copyright to 2000
-
-  Revision 1.5  2000/01/06 01:20:32  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.1  2000/01/03 19:33:05  peter
-    * moved to packages dir
-
-  Revision 1.3  1999/11/11 17:31:09  michael
-  + Added Checks for all simple field types.
-  + Initial implementation of Insert/Append
-
-  Revision 1.2  1999/10/24 17:07:54  michael
-  + Added copyright header
-
-}
+}

+ 2 - 21
fcl/db/tests/testds.pp

@@ -178,26 +178,7 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2000-09-01 22:02:10  peter
-    * build also db
-
-  Revision 1.1  2000/07/13 06:31:28  michael
-  + Initial import
-
-  Revision 1.6  2000/01/07 01:24:32  peter
-    * updated copyright to 2000
-
-  Revision 1.5  2000/01/06 01:20:32  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.1  2000/01/03 19:33:06  peter
-    * moved to packages dir
-
-  Revision 1.3  1999/11/11 17:31:09  michael
-  + Added Checks for all simple field types.
-  + Initial implementation of Insert/Append
-
-  Revision 1.2  1999/10/24 17:07:54  michael
-  + Added copyright header
+  Revision 1.2  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 30
fcl/db/tests/tested.pp

@@ -236,35 +236,7 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2000-09-01 22:02:10  peter
-    * build also db
-
-  Revision 1.1  2000/07/13 06:31:28  michael
-  + Initial import
-
-  Revision 1.6  2000/01/07 01:24:32  peter
-    * updated copyright to 2000
-
-  Revision 1.5  2000/01/06 01:20:32  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.1  2000/01/03 19:33:06  peter
-    * moved to packages dir
-
-  Revision 1.3  1999/12/01 22:11:02  michael
-  + tested edit and insert methods
-
-  Revision 1.2  1999/12/01 10:11:58  michael
-  + test of insert works now
-
-  Revision 1.1  1999/11/14 19:26:17  michael
-  + Initial implementation
-
-  Revision 1.3  1999/11/11 17:31:09  michael
-  + Added Checks for all simple field types.
-  + Initial implementation of Insert/Append
-
-  Revision 1.2  1999/10/24 17:07:54  michael
-  + Added copyright header
+  Revision 1.2  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 47
fcl/freebsd/classes.pp

@@ -55,52 +55,7 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.4  2001-04-08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:31:32  michael
-  + Initial import
-
-  Revision 1.19  2000/07/01 09:49:02  peter
-    * fixed go32v2,win32 build
-
-  Revision 1.18  2000/06/29 16:32:06  sg
-  * Changes in initialisation/finalisation for streaming support
-
-  Revision 1.17  2000/06/27 17:17:34  lazarus
-  Added code for registerclass, GetClass and RegisterClasses
-  Shane
-
-  Revision 1.16  2000/06/27 15:55:19  lazarus
-  Added TThreadlist code.   Shane
-
-  Revision 1.15  2000/01/07 01:24:34  peter
-    * updated copyright to 2000
-
-  Revision 1.14  2000/01/07 00:01:33  peter
-    * uses typinfo moved to interface
-
-  Revision 1.13  2000/01/06 01:20:33  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.2  2000/01/04 18:07:58  michael
-  + Added typinfo unit
-
-  Revision 1.1  2000/01/03 19:33:09  peter
-    * moved to packages dir
-
-  Revision 1.11  1999/05/30 10:46:41  peter
-    * start of tthread for linux,win32
+  Revision 1.5  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 22
fcl/freebsd/process.inc

@@ -112,27 +112,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.4  2001-04-08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:33:44  michael
-  + Initial import
-
-  Revision 1.5  2000/02/15 22:03:38  sg
-  * Inserted wrong copyright notice ;)  Fixed.
-
-  Revision 1.4  2000/02/15 21:57:51  sg
-  * Added copyright notice and CVS log tags where necessary
+  Revision 1.5  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 43
fcl/freebsd/thread.inc

@@ -284,48 +284,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2001-10-09 02:27:17  carl
-  * bugfix #1639 (IsMultiThread varialbe setting)
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:33:44  michael
-  + Initial import
-
-  Revision 1.9  2000/05/17 18:31:18  peter
-    * fixed for new sigactionrec
-
-  Revision 1.8  2000/01/07 01:24:34  peter
-    * updated copyright to 2000
-
-  Revision 1.7  2000/01/06 01:20:33  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.1  2000/01/03 19:33:09  peter
-    * moved to packages dir
-
-  Revision 1.5  1999/10/27 10:40:30  peter
-    * fixed threadproc decl
-
-  Revision 1.4  1999/08/28 09:32:26  peter
-    * readded header/log
-
-  Revision 1.2  1999/05/31 12:47:59  peter
-    * classes unit to unitobjects
-
-  Revision 1.1  1999/05/30 10:46:42  peter
-    * start of tthread for linux,win32
+  Revision 1.6  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 3 - 3
fcl/go32v2/classes.pp

@@ -43,7 +43,7 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:57  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 2 - 5
fcl/go32v2/ezcgi.inc

@@ -9,10 +9,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-07-22 12:27:48  jonas
-    * added missing "open comment braces" for the log section
-
-  Revision 1.2  2000/07/13 11:32:58  michael
-  + removed logs
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 5
fcl/go32v2/pipes.inc

@@ -23,10 +23,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-07-22 12:27:48  jonas
-    * added missing "open comment braces" for the log section
-
-  Revision 1.2  2000/07/13 11:32:58  michael
-  + removed logs
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 5
fcl/go32v2/thread.inc

@@ -93,10 +93,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-10-09 02:25:20  carl
-  * bugfix #1639 (IsMultiThread varialbe setting)
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:58  michael
-  + removed logs
- 
 }
 }

+ 519 - 0
fcl/inc/asyncio.pp

@@ -0,0 +1,519 @@
+{
+    $Id$
+
+    Async_IO: Mananging class for asynchronous input/output
+    Copyright (C) 2000 by Sebastian Guenther ([email protected])
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+}
+
+{$MODE objfpc}
+{$H+}
+
+unit AsyncIO;
+
+interface
+
+{$i asyncioh.inc}
+
+type
+  TAsyncIOManager = class;
+
+  TAsyncIONotify = procedure(UserData: TObject) of object;
+
+  TAsyncIONotifyInfo = record
+    Method: TAsyncIONotify;
+    UserData: TObject;
+  end;
+
+// -------------------------------------------------------------------
+//   TAsyncIOManager
+// -------------------------------------------------------------------
+
+
+  TAsyncIOManager = class
+  protected
+    DoBreak: Boolean;
+    IOdata : TIOdata;
+    ReadNotifies, WriteNotifies: array[0..MaxHandle] of TAsyncIONotifyInfo;
+    HighestHandle: Integer;
+    FTimeout: Integer;
+    TimeoutNotify: TAsyncIONotifyInfo;
+    procedure CalcHighestHandle(max: Integer);
+    procedure ExecuteNotify(const Notify: TAsyncIONotifyInfo);
+    function GetHandleAsync(AHandle: Integer): Boolean;
+    procedure SetHandleAsync(AHandle: Integer; AValue: Boolean);
+  public
+    constructor Create;
+    procedure Run;
+    procedure BreakRun;
+    procedure SetReadHandler(AHandle: Integer; AMethod: TAsyncIONotify; AUserData: TObject);
+    procedure ClearReadHandler(AHandle: Integer);
+    function GetReadHandler(AHandle: Integer): TAsyncIONotify;
+    procedure SetWriteHandler(AHandle: Integer; AMethod: TAsyncIONotify; AUserData: TObject);
+    procedure ClearWriteHandler(AHandle: Integer);
+    function GetWriteHandler(AHandle: Integer): TAsyncIONotify;
+    procedure SetTimeoutHandler(AMethod: TAsyncIONotify; AUserData: TObject);
+    procedure ClearTimeoutHandler;
+    function GetTimeoutHandler: TAsyncIONotify;
+    property Timeout: Integer read FTimeout write FTimeout;
+    property HandleAsync[AHandle: Integer]: Boolean read GetHandleAsync write SetHandleAsync;
+  end;
+
+
+// -------------------------------------------------------------------
+//   Line reader classes
+// -------------------------------------------------------------------
+
+  TLineNotify = procedure(const line: String) of object;
+
+  PBoolean = ^Boolean;
+
+  TGenericLineReader = class
+  protected
+    FDestroyedFlag: PBoolean;
+    RealBuffer, FBuffer: PChar;
+    FBytesInBuffer: Integer;
+    FOnLine: TLineNotify;
+
+    function  Read(var ABuffer; count: Integer): Integer; virtual; abstract;
+    procedure NoData; virtual; abstract;
+
+  public
+    destructor Destroy; override;
+    procedure Run;              // Process as many lines as possible
+
+    property Buffer: PChar read FBuffer;
+    property BytesInBuffer: Integer read FBytesInBuffer;
+    property OnLine: TLineNotify read FOnLine write FOnLine;
+  end;
+
+
+  TAsyncStreamLineReader = class(TGenericLineReader)
+  protected
+    FManager: TAsyncIOManager;
+    FDataStream: TStream;
+    FBlockingStream: THandleStream;
+    FOnEOF: TNotifyEvent;
+
+    function  Read(var ABuffer; count: Integer): Integer; override;
+    procedure NoData; override;
+    procedure StreamDataAvailable(UserData: TObject);
+  public
+    constructor Create(AManager: TAsyncIOManager; AStream: THandleStream);
+    constructor Create(AManager: TAsyncIOManager;
+      ADataStream: TStream; ABlockingStream: THandleStream);
+    destructor Destroy; override;
+
+    property DataStream: TStream read FDataStream;
+    property BlockingStream: THandleStream read FBlockingStream;
+    property OnEOF: TNotifyEvent read FOnEOF write FOnEOF;
+  end;
+
+
+// -------------------------------------------------------------------
+//   TWriteBuffer
+// -------------------------------------------------------------------
+
+  TWriteBuffer = class(TStream)
+  protected
+    FBuffer: PChar;
+    FBytesInBuffer: Integer;
+    FOnBufferEmpty: TNotifyEvent;
+
+    function  Seek(Offset: LongInt; Origin: Word): LongInt; override;
+    function  Write(const ABuffer; Count: LongInt): LongInt; override;
+    function  DoRealWrite(const ABuffer; Count: Integer): Integer; virtual; abstract;
+    procedure WritingFailed; virtual; abstract;
+    procedure WantWrite; virtual; abstract;
+    procedure BufferEmpty; virtual;
+
+    constructor Create;
+
+  public
+    EndOfLineMarker: String;
+
+    destructor Destroy; override;
+    procedure WriteLine(const line: String);
+    procedure Run;              // Write as many data as possible
+
+    property BytesInBuffer: Integer read FBytesInBuffer;
+    property OnBufferEmpty: TNotifyEvent read FOnBufferEmpty write FOnBufferEmpty;
+  end;
+
+
+  TAsyncWriteStream = class(TWriteBuffer)
+  protected
+    FManager: TAsyncIOManager;
+    FDataStream: TStream;
+    FBlockingStream: THandleStream;
+
+    function  DoRealWrite(const ABuffer; Count: Integer): Integer; override;
+    procedure WritingFailed; override;
+    procedure WantWrite; override;
+    procedure BufferEmpty; override;
+    procedure CanWrite(UserData: TObject);
+  public
+    constructor Create(AManager: TAsyncIOManager; AStream: THandleStream);
+    constructor Create(AManager: TAsyncIOManager;
+      ADataStream: TStream; ABlockingStream: THandleStream);
+    destructor Destroy; override;
+
+    property DataStream: TStream read FDataStream;
+    property BlockingStream: THandleStream read FBlockingStream;
+  end;
+
+
+
+// ===================================================================
+// ===================================================================
+
+implementation
+
+uses SysUtils;
+
+{$i asyncio.inc}
+
+// -------------------------------------------------------------------
+//   TAsyncIOManager
+// -------------------------------------------------------------------
+
+procedure TAsyncIOManager.ExecuteNotify(const Notify: TAsyncIONotifyInfo);
+begin
+  if Assigned(Notify.Method) then
+    Notify.Method(Notify.UserData);
+end;
+
+procedure TAsyncIOManager.SetTimeoutHandler(AMethod: TAsyncIONotify; AUserData: TObject);
+begin
+  TimeoutNotify.Method := AMethod;
+  TimeoutNotify.UserData := AUserData;
+end;
+
+procedure TAsyncIOManager.ClearTimeoutHandler;
+begin
+  TimeoutNotify.Method := nil;
+end;
+
+function TAsyncIOManager.GetTimeoutHandler: TAsyncIONotify;
+begin
+  Result := TimeoutNotify.Method;
+end;
+
+
+// -------------------------------------------------------------------
+//   TGenericLineReader
+// -------------------------------------------------------------------
+
+destructor TGenericLineReader.Destroy;
+begin
+  if Assigned(FDestroyedFlag) then
+    FDestroyedFlag^ := True;
+  if Assigned(RealBuffer) then
+  begin
+    FreeMem(RealBuffer);
+    RealBuffer := nil;
+  end;
+  inherited Destroy;
+end;
+
+procedure TGenericLineReader.Run;
+var
+  NewData: array[0..1023] of Byte;
+  p: PChar;
+  BytesRead, OldBufSize, CurBytesInBuffer, LastEndOfLine, i, LineLength: Integer;
+  line: String;
+  FirstRun, DestroyedFlag: Boolean;
+begin
+  FirstRun := True;
+  DestroyedFlag := False;
+  while True do
+  begin
+    BytesRead := Read(NewData, SizeOf(NewData));
+    //WriteLn('Linereader: ', BytesRead, ' bytes read');
+    if BytesRead <= 0 then begin
+      if FirstRun then
+        NoData;
+      break;
+    end;
+    FirstRun := False;
+    OldBufSize := FBytesInBuffer;
+
+    // Append the new received data to the read buffer
+    Inc(FBytesInBuffer, BytesRead);
+    ReallocMem(RealBuffer, FBytesInBuffer);
+    Move(NewData, RealBuffer[OldBufSize], BytesRead);
+
+    {Process all potential lines in the current buffer. Attention: FBuffer and
+     FBytesInBuffer MUST be updated for each line, as they can be accessed from
+     within the FOnLine handler!}
+    LastEndOfLine := 0;
+    if OldBufSize > 0 then
+      i := OldBufSize - 1
+    else
+      i := 0;
+
+    CurBytesInBuffer := FBytesInBuffer;
+
+    while i <= CurBytesInBuffer - 1 do
+    begin
+      if (RealBuffer[i] = #13) or (RealBuffer[i] = #10) then
+      begin
+        LineLength := i - LastEndOfLine;
+        SetLength(line, LineLength);
+        if LineLength > 0 then
+          Move(RealBuffer[LastEndOfLine], line[1], LineLength);
+
+        if (i < CurBytesInBuffer - 1) and (RealBuffer[i] = #13) and
+          (RealBuffer[i + 1] = #10) then
+          Inc(i);
+        LastEndOfLine := i + 1;
+
+        if Assigned(FOnLine) then
+        begin
+          FBuffer := RealBuffer + LastEndOfLine;
+          FBytesInBuffer := CurBytesInBuffer - LastEndOfLine;
+          FDestroyedFlag := @DestroyedFlag;
+          FOnLine(line);
+          FDestroyedFlag := nil;
+          if DestroyedFlag then
+            exit;
+        end;
+      end;
+      Inc(i);
+    end;
+
+    FBytesInBuffer := CurBytesInBuffer;
+
+    if LastEndOfLine > 0 then
+    begin
+      // Remove all processed lines from the buffer
+      Dec(FBytesInBuffer, LastEndOfLine);
+      GetMem(p, FBytesInBuffer);
+      Move(RealBuffer[LastEndOfLine], p^, FBytesInBuffer);
+      FreeMem(RealBuffer);
+      RealBuffer := p;
+    end;
+    FBuffer := RealBuffer;
+  end;
+end;
+
+
+// -------------------------------------------------------------------
+//   TAsyncStreamLineReader
+// -------------------------------------------------------------------
+
+function TAsyncStreamLineReader.Read(var ABuffer; count: Integer): Integer;
+begin
+  Result := FDataStream.Read(ABuffer, count);
+end;
+
+procedure TAsyncStreamLineReader.NoData;
+var
+  s: String;
+begin
+  if (FDataStream = FBlockingStream) or (FDataStream.Position = FDataStream.Size) then
+  begin
+
+    if (FBytesInBuffer > 0) and Assigned(FOnLine) then
+    begin
+      if FBuffer[FBytesInBuffer - 1] in [#13, #10] then
+        Dec(FBytesInBuffer);
+      SetLength(s, FBytesInBuffer);
+      Move(FBuffer^, s[1], FBytesInBuffer);
+      FOnLine(s);
+    end;
+
+    FManager.ClearReadHandler(FBlockingStream.Handle);
+    if Assigned(FOnEOF) then
+      FOnEOF(Self);
+  end;
+end;
+
+procedure TAsyncStreamLineReader.StreamDataAvailable(UserData: TObject);
+begin
+  Run;
+end;
+
+constructor TAsyncStreamLineReader.Create(AManager: TAsyncIOManager; AStream: THandleStream);
+begin
+  Self.Create(AManager, AStream, AStream);
+end;
+
+constructor TAsyncStreamLineReader.Create(AManager: TAsyncIOManager;
+  ADataStream: TStream; ABlockingStream: THandleStream);
+begin
+  ASSERT(Assigned(ADataStream) and Assigned(ABlockingStream));
+
+  inherited Create;
+  FManager := AManager;
+  FDataStream := ADataStream;
+  FBlockingStream := ABlockingStream;
+  AManager.SetReadHandler(FBlockingStream.Handle, @StreamDataAvailable, nil);
+  AManager.HandleAsync[FBlockingStream.Handle] := True;
+end;
+
+destructor TAsyncStreamLineReader.Destroy;
+var
+  Handler: TMethod;
+begin
+  Handler := TMethod(FManager.GetReadHandler(FBlockingStream.Handle));
+  if (Handler.Code = Pointer(@StreamDataAvailable)) and
+    (Handler.Data = Pointer(Self)) then
+    FManager.ClearReadHandler(FBlockingStream.Handle);
+  inherited Destroy;
+end;
+
+
+// -------------------------------------------------------------------
+//   TWriteBuffer
+// -------------------------------------------------------------------
+
+procedure TWriteBuffer.BufferEmpty;
+begin
+  if Assigned(FOnBufferEmpty) then
+    FOnBufferEmpty(Self);
+end;
+
+constructor TWriteBuffer.Create;
+begin
+  inherited Create;
+
+  FBuffer := nil;
+  FBytesInBuffer := 0;
+  EndOfLineMarker := #10;
+end;
+
+destructor TWriteBuffer.Destroy;
+begin
+  if Assigned(FBuffer) then
+    FreeMem(FBuffer);
+  inherited Destroy;
+end;
+
+function TWriteBuffer.Seek(Offset: LongInt; Origin: Word): LongInt;
+begin
+  if ((Offset = 0) and ((Origin = soFromCurrent) or (Origin = soFromEnd))) or
+     ((Offset = FBytesInBuffer) and (Origin = soFromBeginning)) then
+    Result := FBytesInBuffer
+  else
+    raise EStreamError.Create('Invalid stream operation');
+end;
+
+function TWriteBuffer.Write(const ABuffer; Count: LongInt): LongInt;
+begin
+  ReallocMem(FBuffer, FBytesInBuffer + Count);
+  Move(ABuffer, FBuffer[FBytesInBuffer], Count);
+  Inc(FBytesInBuffer, Count);
+  WantWrite;
+  Result := Count;
+end;
+
+procedure TWriteBuffer.WriteLine(const line: String);
+var
+  s: String;
+begin
+  s := line + EndOfLineMarker;
+  WriteBuffer(s[1], Length(s));
+end;
+
+procedure TWriteBuffer.Run;
+var
+  CurStart, written: Integer;
+  NewBuf: PChar;
+  failed: Boolean;
+begin
+  CurStart := 0;
+  failed := True;
+  repeat
+    if FBytesInBuffer = 0 then begin
+      BufferEmpty;
+      exit;
+    end;
+
+    written := DoRealWrite(FBuffer[CurStart], FBytesInBuffer - CurStart);
+    if written > 0 then begin
+      Inc(CurStart, written);
+      failed := False;
+      GetMem(NewBuf, FBytesInBuffer - CurStart);
+      Move(FBuffer[CurStart], NewBuf[0], FBytesInBuffer - CurStart);
+      FreeMem(FBuffer);
+      FBuffer := NewBuf;
+      Dec(FBytesInBuffer, CurStart);
+    end;
+  until written <= 0;
+
+  if failed then
+    WritingFailed;
+end;
+
+
+// -------------------------------------------------------------------
+//   TAsyncWriteStream
+// -------------------------------------------------------------------
+
+function TAsyncWriteStream.DoRealWrite(const ABuffer; Count: Integer): Integer;
+begin
+  Result := FDataStream.Write(ABuffer, count);
+end;
+
+procedure TAsyncWriteStream.WritingFailed;
+begin
+  if FDataStream <> FBlockingStream then
+    FManager.ClearWriteHandler(FBlockingStream.Handle);
+end;
+
+procedure TAsyncWriteStream.WantWrite;
+begin
+  FManager.SetWriteHandler(FBlockingStream.Handle, @CanWrite, nil);
+end;
+
+procedure TAsyncWriteStream.BufferEmpty;
+begin
+  FManager.ClearWriteHandler(FBlockingStream.Handle);
+  inherited BufferEmpty;
+end;
+
+procedure TAsyncWriteStream.CanWrite(UserData: TObject);
+begin
+  Run;
+end;
+
+constructor TAsyncWriteStream.Create(AManager: TAsyncIOManager; AStream: THandleStream);
+begin
+  Self.Create(AManager, AStream, AStream);
+end;
+
+constructor TAsyncWriteStream.Create(AManager: TAsyncIOManager;
+  ADataStream: TStream; ABlockingStream: THandleStream);
+begin
+  ASSERT(Assigned(ADataStream) and Assigned(ABlockingStream));
+
+  inherited Create;
+  FManager := AManager;
+  FDataStream := ADataStream;
+  FBlockingStream := ABlockingStream;
+  AManager.HandleAsync[FBlockingStream.Handle] := True;
+end;
+
+destructor TAsyncWriteStream.Destroy;
+begin
+  FManager.ClearWriteHandler(FBlockingStream.Handle);
+  inherited Destroy;
+end;
+
+
+end.
+
+
+{
+  $Log$
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+}

+ 3 - 3
fcl/inc/base64.pp

@@ -300,7 +300,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:58  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 4 - 20
fcl/inc/bits.inc

@@ -380,27 +380,11 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.7  2002-07-16 14:00:55  florian
+  Revision 1.8  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.7  2002/07/16 14:00:55  florian
     * raise takes now a void pointer as at and frame address
     * raise takes now a void pointer as at and frame address
       instead of a longint, fixed
       instead of a longint, fixed
 
 
-  Revision 1.6  2001/02/02 23:51:27  peter
-    * bit field to cardinal instead of longint
-
-  Revision 1.5  2000/11/17 13:39:49  sg
-  * Extended Error methods so that exceptions are raised from the caller's
-    address instead of the Error method
-
-  Revision 1.4  2000/10/15 10:04:39  peter
-    + Capitalization of TBits interface fixed; CheckBitIndex now checks for
-      size (merged)
-
-  Revision 1.3  2000/10/15 09:27:48  peter
-    + Added some index checking. Centralized error handling (merged)
-
-  Revision 1.2  2000/07/13 11:32:58  michael
-  + removed logs
-
-  Revision 1.1  2000/07/13 06:31:29  michael
-  + Initial import
 }
 }

+ 23 - 23
fcl/inc/cachecls.pp

@@ -42,9 +42,9 @@ type
 
 
   PCacheSlot = ^TCacheSlot;
   PCacheSlot = ^TCacheSlot;
   TCacheSlot = record
   TCacheSlot = record
-    Prev, Next: PCacheSlot;	// -> double-linked list
-    Data: Pointer;		// The custom data associated with this element
-    Index: Integer;		// The array index of this slot
+    Prev, Next: PCacheSlot;     // -> double-linked list
+    Data: Pointer;              // The custom data associated with this element
+    Index: Integer;             // The array index of this slot
   end;
   end;
 
 
   PCacheSlotArray = ^TCacheSlotArray;
   PCacheSlotArray = ^TCacheSlotArray;
@@ -69,18 +69,18 @@ type
     procedure SetMRUSlot(ASlot: PCacheSlot);
     procedure SetMRUSlot(ASlot: PCacheSlot);
     procedure SetSlotCount(ACount: Integer);
     procedure SetSlotCount(ACount: Integer);
   protected
   protected
-    FSlotCount: Integer;	// Number of cache elements
+    FSlotCount: Integer;        // Number of cache elements
     FSlots: PCacheSlotArray;
     FSlots: PCacheSlotArray;
-    FMRUSlot,			// First slot in MRU-sorted list
-      FLRUSlot: PCacheSlot;	// Last slot in MRU-sorted list
+    FMRUSlot,                   // First slot in MRU-sorted list
+      FLRUSlot: PCacheSlot;     // Last slot in MRU-sorted list
   public
   public
     constructor Create(ASlotCount: Integer);
     constructor Create(ASlotCount: Integer);
     destructor Destroy; override;
     destructor Destroy; override;
 
 
-    function Add(AData: Pointer): Integer;		// Checks for duplicates
-    function AddNew(AData: Pointer): Integer;		// No duplicate checks
-    function FindSlot(AData: Pointer): PCacheSlot;	// nil => not found
-    function IndexOf(AData: Pointer): Integer;		// -1 => not found
+    function Add(AData: Pointer): Integer;              // Checks for duplicates
+    function AddNew(AData: Pointer): Integer;           // No duplicate checks
+    function FindSlot(AData: Pointer): PCacheSlot;      // nil => not found
+    function IndexOf(AData: Pointer): Integer;          // -1 => not found
     procedure Remove(AData: Pointer);
     procedure Remove(AData: Pointer);
 
 
     // Accesses to the "Data" array will be reflected by the MRU list!
     // Accesses to the "Data" array will be reflected by the MRU list!
@@ -162,7 +162,7 @@ begin
 
 
       if Assigned(OnFreeSlot) then
       if Assigned(OnFreeSlot) then
         for i := ACount to SlotCount - 1 do
         for i := ACount to SlotCount - 1 do
-	  OnFreeSlot(Self, i);
+          OnFreeSlot(Self, i);
 
 
       while (MRUSlot^.Index >= ACount) and Assigned(MRUSlot^.Next) do
       while (MRUSlot^.Index >= ACount) and Assigned(MRUSlot^.Next) do
         FMRUSlot := MRUSlot^.Next;
         FMRUSlot := MRUSlot^.Next;
@@ -176,11 +176,11 @@ begin
       while Assigned(Slot) do
       while Assigned(Slot) do
       begin
       begin
         if Slot^.Index >= ACount then
         if Slot^.Index >= ACount then
-	begin
-	  Slot^.Prev^.Next := Slot^.Next;
-	  if Assigned(Slot^.Next) then
-	    Slot^.Next^.Prev := Slot^.Prev;
-	end;
+        begin
+          Slot^.Prev^.Next := Slot^.Next;
+          if Assigned(Slot^.Next) then
+            Slot^.Next^.Prev := Slot^.Prev;
+        end;
         Slot := Slot^.Next;
         Slot := Slot^.Next;
       end;
       end;
 
 
@@ -192,10 +192,10 @@ begin
       for i := SlotCount to ACount - 1 do
       for i := SlotCount to ACount - 1 do
         with FSlots^[i] do
         with FSlots^[i] do
         begin
         begin
-	  Prev := @FSlots^[i + 1];
-	  Next := @FSlots^[i - 1];
-	  Data := nil;
-	  Index := i;
+          Prev := @FSlots^[i + 1];
+          Next := @FSlots^[i - 1];
+          Data := nil;
+          Index := i;
         end;
         end;
       LRUSlot^.Next := @FSlots^[ACount - 1];
       LRUSlot^.Next := @FSlots^[ACount - 1];
       FSlots^[ACount - 1].Prev := LRUSlot;
       FSlots^[ACount - 1].Prev := LRUSlot;
@@ -328,7 +328,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:58  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 4 - 26
fcl/inc/classes.inc

@@ -1189,35 +1189,13 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.9  2002-07-16 13:32:51  florian
+  Revision 1.10  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.9  2002/07/16 13:32:51  florian
     + skeleton for TInterfaceList added
     + skeleton for TInterfaceList added
 
 
   Revision 1.8  2002/01/06 21:54:49  peter
   Revision 1.8  2002/01/06 21:54:49  peter
     * action classes added
     * action classes added
 
 
-  Revision 1.7  2001/04/10 23:24:51  peter
-    * merged fixes
-
-  Revision 1.6  2001/03/08 19:39:25  michael
-  + Merged fixes
-
-  Revision 1.5  2000/10/15 09:27:48  peter
-    + Added some index checking. Centralized error handling (merged)
-
-  Revision 1.4  2000/10/13 12:33:23  sg
-  * Some small cosmetic changes and minor fixes
-
-  Revision 1.1.2.4  2000/12/13 10:16:33  michael
-  + Applied patch from Mattias Gaertner, bug 1292
-
-  Revision 1.1.2.3  2000/12/11 09:29:59  michael
-  + Fix from Mattias Gaertner
-
-  Revision 1.1.2.2  2000/10/13 10:48:10  sg
-
-  Revision 1.3  2000/07/22 14:55:56  sg
-  * Fixed some DFM parser bugs
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
 }
 }

+ 4 - 54
fcl/inc/classesh.inc

@@ -1448,7 +1448,10 @@ function LineStart(Buffer, BufPos: PChar): PChar;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.21  2002-07-16 13:32:51  florian
+  Revision 1.22  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.21  2002/07/16 13:32:51  florian
     + skeleton for TInterfaceList added
     + skeleton for TInterfaceList added
 
 
   Revision 1.20  2002/07/15 18:35:04  florian
   Revision 1.20  2002/07/15 18:35:04  florian
@@ -1460,57 +1463,4 @@ function LineStart(Buffer, BufPos: PChar): PChar;
   Revision 1.18  2002/01/06 21:54:49  peter
   Revision 1.18  2002/01/06 21:54:49  peter
     * action classes added
     * action classes added
 
 
-  Revision 1.17  2001/12/03 21:39:58  peter
-    * seek(int64) overload only for 1.1 compiler
-
-  Revision 1.16  2001/11/24 20:41:04  carl
-  * fix Peter's problems with compiling under version 1.0
-
-  Revision 1.15  2001/11/20 18:53:29  peter
-    * overload fix
-
-  Revision 1.14  2001/10/29 19:38:13  michael
-  + Added TRect definition
-
-  Revision 1.13  2001/10/28 17:16:44  peter
-    * int64 file functions added
-
-  Revision 1.12  2001/10/23 21:51:02  peter
-    * criticalsection renamed to rtlcriticalsection for kylix compatibility
-
-  Revision 1.11  2001/08/12 22:10:36  peter
-    * some interface updates for 1.1
-
-  Revision 1.10  2001/05/14 21:17:24  florian
-    * TGUID and IUnknown is defined in the system unit by
-      1.1 and above
-
-  Revision 1.9  2001/04/13 18:03:51  peter
-    * added tthread.destroy override
-
-  Revision 1.8  2001/02/09 20:38:28  sg
-  Merges from Fixbranch:
-  * Extended TRect type to have TopLeft and BottomRight fields as well
-  * Added "Driver" property to TReader
-
-  Revision 1.7  2001/02/02 23:51:27  peter
-    * bit field to cardinal instead of longint
-
-  Revision 1.6  2000/12/03 22:35:09  sg
-  * Applied patch by Markus Kaemmerer (merged):
-    - Added support for TStringList.CustomSort
-
-  Revision 1.5  2000/11/13 15:46:55  marco
-   * Unix renamefest for defines.
-
-  Revision 1.4  2000/10/15 10:04:39  peter
-    + Capitalization of TBits interface fixed; CheckBitIndex now checks for
-      size (merged)
-
-  Revision 1.3  2000/08/15 04:10:38  peter
-    * delphi compatibility fix
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
-
 }
 }

+ 3 - 3
fcl/inc/collect.inc

@@ -341,7 +341,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:59  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 5 - 11
fcl/inc/compon.inc

@@ -231,7 +231,7 @@ begin
   If (Operation=opRemove) and Assigned(FFreeNotifies) then
   If (Operation=opRemove) and Assigned(FFreeNotifies) then
     begin
     begin
     FFreeNotifies.Remove(AComponent);
     FFreeNotifies.Remove(AComponent);
-	    If FFreeNotifies.Count=0 then
+            If FFreeNotifies.Count=0 then
       begin
       begin
       FFreeNotifies.Free;
       FFreeNotifies.Free;
       FFreenotifies:=Nil;
       FFreenotifies:=Nil;
@@ -533,19 +533,13 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.6  2002-01-09 10:40:24  michael
+  Revision 1.7  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.6  2002/01/09 10:40:24  michael
   + re-enabled Top/Left property writing
   + re-enabled Top/Left property writing
 
 
   Revision 1.5  2002/01/06 21:54:50  peter
   Revision 1.5  2002/01/06 21:54:50  peter
     * action classes added
     * action classes added
 
 
-  Revision 1.4  2001/12/03 21:39:58  peter
-    * seek(int64) overload only for 1.1 compiler
-
-  Revision 1.3  2001/01/08 18:36:01  sg
-  * Applied bugfix for bug #1330 (merged)
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
-
 }
 }

+ 2 - 14
fcl/inc/constse.inc

@@ -275,19 +275,7 @@ const
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.6  2001-12-17 20:17:38  sg
-  *Fixed some typos
-
-  Revision 1.5  2001/10/28 17:16:44  peter
-    * int64 file functions added
-
-  Revision 1.4  2000/12/23 22:54:50  sg
-  * Fixed SUnknownPropertyType
-
-  Revision 1.3  2000/12/22 22:39:36  peter
-    * added missing sunknownpropertytype
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
+  Revision 1.7  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 5
fcl/inc/constsg.inc

@@ -274,10 +274,7 @@ const
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-12-23 22:55:29  sg
-  * Added SUnknownPropertyType
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
- 
 }
 }

+ 2 - 5
fcl/inc/constss.inc

@@ -273,10 +273,7 @@ const
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-12-23 22:55:29  sg
-  * Added SUnknownPropertyType
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
- 
 }
 }

+ 6 - 3
fcl/inc/contnrs.pp

@@ -11,7 +11,7 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 
  **********************************************************************}
  **********************************************************************}
-{$ifdef fpc} 
+{$ifdef fpc}
 {$mode objfpc}
 {$mode objfpc}
 {$endif}
 {$endif}
 unit contnrs;
 unit contnrs;
@@ -497,7 +497,10 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2002-08-09 09:48:28  michael
+  Revision 1.6  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.5  2002/08/09 09:48:28  michael
     + mode directive added plus some types fixed
     + mode directive added plus some types fixed
 
 
   Revision 1.4  2002/08/09 09:44:33  michael
   Revision 1.4  2002/08/09 09:44:33  michael
@@ -512,4 +515,4 @@ end.
   Revision 1.1  2002/07/16 13:34:39  florian
   Revision 1.1  2002/07/16 13:34:39  florian
     + skeleton for contnr.pp added
     + skeleton for contnr.pp added
 
 
-}
+}

+ 2 - 5
fcl/inc/cregist.inc

@@ -187,10 +187,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-02-09 20:40:12  sg
-  * Fixed GetClass function  (merged from Fixbranch)
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
- 
 }
 }

+ 2 - 6
fcl/inc/ezcgi.pp

@@ -406,11 +406,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-10-19 03:42:52  carl
-  * Replace byte -> Integer for environment variable scanning
-    (since AnsiString is on) Bug report #1647
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
- 
 }
 }

+ 3 - 3
fcl/inc/filer.inc

@@ -23,7 +23,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:59  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 3
fcl/inc/filerec.inc

@@ -35,7 +35,7 @@ type
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:59  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 4 - 13
fcl/inc/gettext.pp

@@ -310,19 +310,10 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2002-01-19 11:54:52  peter
-    * fixed wrong getmem
-
-  Revision 1.4  2001/09/21 12:52:54  sg
-  * Evaluates all 3 i18n environment variables: LC_ALL, LC_MESSAGES, LANG
-  * Now takes sublanguage specifiers into account: When the language is set
-    to xx_YY, then the catalogue for xx will be loaded first, and then the
-    catalogue for sublanguage xx_YY will be loaded and applied as well.
+  Revision 1.6  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.3  2000/11/23 10:19:31  sg
-  * optimized the string translation process a little bit
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
+  Revision 1.5  2002/01/19 11:54:52  peter
+    * fixed wrong getmem
 
 
 }
 }

+ 637 - 0
fcl/inc/http.pp

@@ -0,0 +1,637 @@
+{
+    $Id$
+
+    HTTP: Classes for dealing with HTTP requests
+    Copyright (C) 2000 by Sebastian Guenther ([email protected])
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+}
+
+
+{$MODE objfpc}
+{$H+}
+
+unit HTTP;
+
+interface
+
+uses Classes, AsyncIO, SSockets;
+
+const
+
+  fieldAccept = 'Accept';
+  fieldAcceptCharset = 'Accept-Charset';
+  fieldAcceptEncoding = 'Accept-Encoding';
+  fieldAcceptLanguage = 'Accept-Language';
+  fieldAuthorization = 'Authorization';
+  fieldContentEncoding = 'Content-Encoding';
+  fieldContentLanguage = 'Content-Language';
+  fieldContentLength = 'Content-Length';
+  fieldContentType = 'Content-Type';
+  fieldCookie = 'Cookie';
+  fieldDate = 'Date';
+  fieldExpires = 'Expires';
+  fieldFrom = 'From';
+  fieldIfModifiedSince = 'If-Modified-Since';
+  fieldLastModified = 'Last-Modified';
+  fieldLocation = 'Location';
+  fieldPragma = 'Pragma';
+  fieldReferer = 'Referer';
+  fieldRetryAfter = 'Retry-After';
+  fieldServer = 'Server';
+  fieldSetCookie = 'Set-Cookie';
+  fieldUserAgent = 'User-Agent';
+  fieldWWWAuthenticate = 'WWW-Authenticate';
+
+type
+
+  PHttpField = ^THttpField;
+  THttpField = record
+    Name, Value: String;
+  end;
+
+
+  THttpHeader = class
+  protected
+    FReader: TAsyncStreamLineReader;
+    FWriter: TAsyncWriteStream;
+    FOnCompleted: TNotifyEvent;
+    FFields: TList;
+    CmdReceived: Boolean;
+
+    procedure ParseFirstHeaderLine(const line: String); virtual; abstract;
+    procedure LineReceived(const line: String);
+    function  GetFirstHeaderLine: String; virtual; abstract;
+    procedure WriterCompleted(ASender: TObject);
+
+    function  GetFieldCount: Integer;
+    function  GetFields(AIndex: Integer): String;
+    function  GetFieldNames(AIndex: Integer): String;
+    procedure SetFieldNames(AIndex: Integer; const AName: String);
+    function  GetFieldValues(AIndex: Integer): String;
+    procedure SetFieldValues(AIndex: Integer; const AValue: String);
+
+
+    function  GetAccept: String;
+    procedure SetAccept(const AValue: String);
+    function  GetAcceptCharset: String;
+    procedure SetAcceptCharset(const AValue: String);
+    function  GetAcceptEncoding: String;
+    procedure SetAcceptEncoding(const AValue: String);
+    function  GetAcceptLanguage: String;
+    procedure SetAcceptLanguage(const AValue: String);
+    function  GetAuthorization: String;
+    procedure SetAuthorization(const AValue: String);
+    function  GetContentEncoding: String;
+    procedure SetContentEncoding(const AValue: String);
+    function  GetContentLanguage: String;
+    procedure SetContentLanguage(const AValue: String);
+    function  GetContentLength: Integer;
+    procedure SetContentLength(AValue: Integer);
+    function  GetContentType: String;
+    procedure SetContentType(const AValue: String);
+    function  Get_Cookie: String;
+    procedure Set_Cookie(const AValue: String);
+    function  GetDate: String;
+    procedure SetDate(const AValue: String);
+    function  GetExpires: String;
+    procedure SetExpires(const AValue: String);
+    function  GetFrom: String;
+    procedure SetFrom(const AValue: String);
+    function  GetIfModifiedSince: String;
+    procedure SetIfModifiedSince(const AValue: String);
+    function  GetLastModified: String;
+    procedure SetLastModified(const AValue: String);
+    function  GetLocation: String;
+    procedure SetLocation(const AValue: String);
+    function  GetPragma: String;
+    procedure SetPragma(const AValue: String);
+    function  GetReferer: String;
+    procedure SetReferer(const AValue: String);
+    function  GetRetryAfter: String;
+    procedure SetRetryAfter(const AValue: String);
+    function  GetServer: String;
+    procedure SetServer(const AValue: String);
+    function  Get_SetCookie: String;
+    procedure Set_SetCookie(const AValue: String);
+    function  GetUserAgent: String;
+    procedure SetUserAgent(const AValue: String);
+    function  GetWWWAuthenticate: String;
+    procedure SetWWWAuthenticate(const AValue: String);
+
+  public
+    HttpVersion: String;
+
+    constructor Create;
+    destructor Destroy; override;
+    procedure SetFieldByName(const AName, AValue: String);
+    function  GetFieldByName(const AName: String): String;
+
+    procedure AsyncSend(AManager: TAsyncIOManager; AStream: THandleStream);
+    procedure AsyncReceive(AManager: TAsyncIOManager; AStream: THandleStream);
+
+    property Reader: TAsyncStreamLineReader read FReader;
+    property Writer: TAsyncWriteStream read FWriter;
+    property FieldCount: Integer read GetFieldCount;
+    property Fields[AIndex: Integer]: String read GetFields;
+    property FieldNames[AIndex: Integer]: String read GetFieldNames write SetFieldNames;
+    property FieldValues[AIndex: Integer]: String read GetFieldValues write SetFieldValues;
+
+    property OnCompleted: TNotifyEvent read FOnCompleted write FOnCompleted;
+
+    property Accept: String read GetAccept write SetAccept;
+    property AcceptCharset: String read GetAcceptCharset write SetAcceptCharset;
+    property AcceptEncoding: String read GetAcceptEncoding write SetAcceptEncoding;
+    property AcceptLanguage: String read GetAcceptLanguage write SetAcceptLanguage;
+    property Authorization: String read GetAuthorization write SetAuthorization;
+    property ContentEncoding: String read GetContentEncoding write SetContentEncoding;
+    property ContentLanguage: String read GetContentLanguage write SetContentLanguage;
+    property ContentLength: Integer read GetContentLength write SetContentLength;
+    property ContentType: String read GetContentType write SetContentType;
+    property Cookie: String read Get_Cookie write Set_Cookie;
+    property Date: String read GetDate write SetDate;
+    property Expires: String read GetExpires write SetExpires;
+    property From: String read GetFrom write SetFrom;
+    property IfModifiedSince: String read GetIfModifiedSince write SetIfModifiedSince;
+    property LastModified: String read GetLastModified write SetLastModified;
+    property Location: String read GetLocation write SetLocation;
+    property Pragma: String read GetPragma write SetPragma;
+    property Referer: String read GetReferer write SetReferer;
+    property RetryAfter: String read GetRetryAfter write SetRetryAfter;
+    property Server: String read GetServer write SetServer;
+    property SetCookie: String read Get_SetCookie write Set_SetCookie;
+    property UserAgent: String read GetUserAgent write SetUserAgent;
+    property WWWAuthenticate: String read GetWWWAuthenticate write SetWWWAuthenticate;
+  end;
+
+
+  THttpRequestHeader = class(THttpHeader)
+  protected
+    procedure ParseFirstHeaderLine(const line: String); override;
+    function  GetFirstHeaderLine: String; override;
+  public
+    CommandLine: String;
+    Command: String;
+    URI: String;                // Uniform Resource Identifier
+  end;
+
+
+  THttpAnswerHeader = class(THttpHeader)
+  protected
+    procedure ParseFirstHeaderLine(const line: String); override;
+    function  GetFirstHeaderLine: String; override;
+  public
+    Code: Integer;
+    CodeText: String;
+    constructor Create;
+  end;
+
+
+  TCustomHttpConnection = class
+  protected
+    FManager: TAsyncIOManager;
+    FSocket: TInetSocket;
+    SendBuffer: TAsyncWriteStream;
+    FOnHeaderSent, FOnStreamSent, FOnHeaderReceived, FOnStreamReceived: TNotifyEvent;
+    RecvSize: Integer;  // How many bytes are still to be read. -1 if unknown.
+
+    procedure HeaderToSendCompleted(Sender: TObject);
+    procedure StreamToSendCompleted(Sender: TObject);
+    procedure ReceivedHeaderCompleted(Sender: TObject);
+    procedure DataAvailable(Sender: TObject);
+    procedure ReceivedStreamCompleted(Sender: TObject);
+
+    property OnHeaderSent: TNotifyEvent read FOnHeaderSent write FOnHeaderSent;
+    property OnStreamSent: TNotifyEvent read FOnStreamSent write FOnStreamSent;
+    property OnHeaderReceived: TNotifyEvent read FOnHeaderReceived write FOnHeaderReceived;
+    property OnStreamReceived: TNotifyEvent read FOnStreamReceived write FOnStreamReceived;
+
+  public
+    HeaderToSend: THttpHeader;
+    StreamToSend: TStream;
+    ReceivedHeader: THttpHeader;
+    ReceivedStream: TStream;
+
+    constructor Create(AManager: TAsyncIOManager; ASocket: TInetSocket);
+    destructor Destroy; override;
+    procedure Start;
+  end;
+
+  THttpConnection = class(TCustomHttpConnection)
+  public
+    property OnHeaderSent;
+    property OnStreamSent;
+    property OnHeaderReceived;
+    property OnStreamReceived;
+  end;
+
+
+
+// ===================================================================
+// ===================================================================
+
+implementation
+
+uses SysUtils;
+
+
+// -------------------------------------------------------------------
+//   THttpHeader
+// -------------------------------------------------------------------
+
+procedure THttpHeader.LineReceived(const line: String);
+var
+  i: Integer;
+begin
+  if Length(line) = 0 then
+  begin
+    FReader.OnLine := nil;      // Stop receiving
+    if Assigned(FOnCompleted) then
+      FOnCompleted(Self);
+    FReader.Free;
+    FReader := nil;
+  end else
+    if not CmdReceived then
+    begin
+      CmdReceived := True;
+      ParseFirstHeaderLine(line);
+    end else
+    begin
+      i := Pos(':', line);
+      SetFieldByName(Trim(Copy(line, 1, i - 1)), Trim(Copy(line, i + 1, Length(line))));
+    end;
+end;
+
+procedure THttpHeader.WriterCompleted(ASender: TObject);
+begin
+  if Assigned(FOnCompleted) then
+    FOnCompleted(Self);
+end;
+
+function THttpHeader.GetFieldCount: Integer;
+begin
+  Result := FFields.Count;
+end;
+
+function THttpHeader.GetFields(AIndex: Integer): String;
+begin
+  Result := FieldNames[AIndex] + ': ' + FieldValues[AIndex];
+end;
+
+function THttpHeader.GetFieldNames(AIndex: Integer): String;
+begin
+  Result := PHttpField(FFields.Items[AIndex])^.Name;
+end;
+
+procedure THttpHeader.SetFieldNames(AIndex: Integer; const AName: String);
+begin
+  PHttpField(FFields.Items[AIndex])^.Name := AName;
+end;
+
+function THttpHeader.GetFieldValues(AIndex: Integer): String;
+begin
+  Result := PHttpField(FFields.Items[AIndex])^.Value;
+end;
+
+procedure THttpHeader.SetFieldValues(AIndex: Integer; const AValue: String);
+begin
+  PHttpField(FFields.Items[AIndex])^.Name := AValue;
+end;
+
+function  THttpHeader.GetAccept: String; begin Result := GetFieldByName(fieldAccept) end;
+procedure THttpHeader.SetAccept(const AValue: String); begin SetFieldByName(fieldAccept, AValue) end;
+function  THttpHeader.GetAcceptCharset: String; begin Result := GetFieldByName(fieldAcceptCharset) end;
+procedure THttpHeader.SetAcceptCharset(const AValue: String); begin SetFieldByName(fieldAcceptCharset, AValue) end;
+function  THttpHeader.GetAcceptEncoding: String; begin Result := GetFieldByName(fieldAcceptEncoding) end;
+procedure THttpHeader.SetAcceptEncoding(const AValue: String); begin SetFieldByName(fieldAcceptEncoding, AValue) end;
+function  THttpHeader.GetAcceptLanguage: String; begin Result := GetFieldByName(fieldAcceptLanguage) end;
+procedure THttpHeader.SetAcceptLanguage(const AValue: String); begin SetFieldByName(fieldAcceptLanguage, AValue) end;
+function  THttpHeader.GetAuthorization: String; begin Result := GetFieldByName(fieldAuthorization) end;
+procedure THttpHeader.SetAuthorization(const AValue: String); begin SetFieldByName(fieldAuthorization, AValue) end;
+function  THttpHeader.GetContentEncoding: String; begin Result := GetFieldByName(fieldContentEncoding) end;
+procedure THttpHeader.SetContentEncoding(const AValue: String); begin SetFieldByName(fieldContentEncoding, AValue) end;
+function  THttpHeader.GetContentLanguage: String; begin Result := GetFieldByName(fieldContentLanguage) end;
+procedure THttpHeader.SetContentLanguage(const AValue: String); begin SetFieldByName(fieldContentLanguage, AValue) end;
+function  THttpHeader.GetContentLength: Integer; var s: String; begin s := GetFieldByName(fieldContentLength); if Length(s) = 0 then Result := -1 else Result := StrToInt(s) end;
+procedure THttpHeader.SetContentLength(AValue: Integer); begin SetFieldByName(fieldContentLength, IntToStr(AValue)) end;
+function  THttpHeader.GetContentType: String; begin Result := GetFieldByName(fieldContentType) end;
+procedure THttpHeader.SetContentType(const AValue: String); begin SetFieldByName(fieldContentType, AValue) end;
+function  THttpHeader.Get_Cookie: String; begin Result := GetFieldByName(fieldCookie) end;
+procedure THttpHeader.Set_Cookie(const AValue: String); begin SetFieldByName(fieldCookie, AValue) end;
+function  THttpHeader.GetDate: String; begin Result := GetFieldByName(fieldDate) end;
+procedure THttpHeader.SetDate(const AValue: String); begin SetFieldByName(fieldDate, AValue) end;
+function  THttpHeader.GetExpires: String; begin Result := GetFieldByName(fieldExpires) end;
+procedure THttpHeader.SetExpires(const AValue: String); begin SetFieldByName(fieldExpires, AValue) end;
+function  THttpHeader.GetFrom: String; begin Result := GetFieldByName(fieldFrom) end;
+procedure THttpHeader.SetFrom(const AValue: String); begin SetFieldByName(fieldFrom, AValue) end;
+function  THttpHeader.GetIfModifiedSince: String; begin Result := GetFieldByName(fieldIfModifiedSince) end;
+procedure THttpHeader.SetIfModifiedSince(const AValue: String); begin SetFieldByName(fieldIfModifiedSince, AValue) end;
+function  THttpHeader.GetLastModified: String; begin Result := GetFieldByName(fieldLastModified) end;
+procedure THttpHeader.SetLastModified(const AValue: String); begin SetFieldByName(fieldLastModified, AValue) end;
+function  THttpHeader.GetLocation: String; begin Result := GetFieldByName(fieldLocation) end;
+procedure THttpHeader.SetLocation(const AValue: String); begin SetFieldByName(fieldLocation, AValue) end;
+function  THttpHeader.GetPragma: String; begin Result := GetFieldByName(fieldPragma) end;
+procedure THttpHeader.SetPragma(const AValue: String); begin SetFieldByName(fieldPragma, AValue) end;
+function  THttpHeader.GetReferer: String; begin Result := GetFieldByName(fieldReferer) end;
+procedure THttpHeader.SetReferer(const AValue: String); begin SetFieldByName(fieldReferer, AValue) end;
+function  THttpHeader.GetRetryAfter: String; begin Result := GetFieldByName(fieldRetryAfter) end;
+procedure THttpHeader.SetRetryAfter(const AValue: String); begin SetFieldByName(fieldRetryAfter, AValue) end;
+function  THttpHeader.GetServer: String; begin Result := GetFieldByName(fieldServer) end;
+procedure THttpHeader.SetServer(const AValue: String); begin SetFieldByName(fieldServer, AValue) end;
+function  THttpHeader.Get_SetCookie: String; begin Result := GetFieldByName(fieldSetCookie) end;
+procedure THttpHeader.Set_SetCookie(const AValue: String); begin SetFieldByName(fieldSetCookie, AValue) end;
+function  THttpHeader.GetUserAgent: String; begin Result := GetFieldByName(fieldUserAgent) end;
+procedure THttpHeader.SetUserAgent(const AValue: String); begin SetFieldByName(fieldUserAgent, AValue) end;
+function  THttpHeader.GetWWWAuthenticate: String; begin Result := GetFieldByName(fieldWWWAuthenticate) end;
+procedure THttpHeader.SetWWWAuthenticate(const AValue: String); begin SetFieldByName(fieldWWWAuthenticate, AValue) end;
+
+constructor THttpHeader.Create;
+begin
+  inherited Create;
+  FFields := TList.Create;
+  HttpVersion := '1.0';
+end;
+
+destructor THttpHeader.Destroy;
+var
+  i: Integer;
+  field: PHttpField;
+begin
+  FReader.Free;
+  FWriter.Free;
+  for i := 0 to FFields.Count - 1 do begin
+    field := PHttpField(FFields.Items[i]);
+    SetLength(field^.Name, 0);
+    SetLength(field^.Value, 0);
+    Dispose(field);
+  end;
+  FFields.Free;
+  inherited Destroy;
+end;
+
+function THttpHeader.GetFieldByName(const AName: String): String;
+var
+  i: Integer;
+  name: String;
+begin
+  name := UpperCase(AName);
+  for i := 0 to FFields.Count - 1 do
+    if UpperCase(FieldNames[i]) = name then begin
+      Result := FieldValues[i];
+      exit;
+    end;
+  SetLength(Result, 0);
+end;
+
+procedure THttpHeader.SetFieldByName(const AName, AValue: String);
+var
+  i: Integer;
+  name: String;
+  field: PHttpField;
+begin
+  name := UpperCase(AName);
+  for i := 0 to FFields.Count - 1 do
+    if UpperCase(FieldNames[i]) = name then begin
+      FieldNames[i] := AName;   // preserve case
+      FieldValues[i] := AValue;
+      exit;
+    end;
+  New(field);
+  FillChar(field^, SizeOf(field^), 0);
+  field^.Name := AName;
+  field^.Value := AValue;
+  FFields.Add(field);
+end;
+
+procedure THttpHeader.AsyncSend(AManager: TAsyncIOManager; AStream: THandleStream);
+var
+  i: Integer;
+begin
+  FWriter.Free;
+  FWriter := TAsyncWriteStream.Create(AManager, AStream);
+  FWriter.OnBufferEmpty := @WriterCompleted;
+  FWriter.EndOfLineMarker := #13#10;
+  FWriter.WriteLine(GetFirstHeaderLine);
+  for i := 0 to FFields.Count - 1 do
+    FWriter.WriteLine(Fields[i]);
+  FWriter.WriteLine('');
+end;
+
+procedure THttpHeader.AsyncReceive(AManager: TAsyncIOManager; AStream: THandleStream);
+begin
+  CmdReceived := False;
+  FReader.Free;
+  FReader := TAsyncStreamLineReader.Create(AManager, AStream);
+  FReader.OnLine := @LineReceived;
+end;
+
+
+// -------------------------------------------------------------------
+//   THttpRequestHeader
+// -------------------------------------------------------------------
+
+procedure THttpRequestHeader.ParseFirstHeaderLine(const line: String);
+var
+  i: Integer;
+begin
+  CommandLine := line;
+  i := Pos(' ', line);
+  Command := Copy(line, 1, i - 1);
+  URI := Copy(line, i + 1, Length(line));
+  i := Pos(' ', URI);
+  if i > 0 then begin
+    HttpVersion := Copy(URI, i + 1, Length(URI));
+    URI := Copy(URI, 1, i - 1);
+    HttpVersion := Copy(HttpVersion, Pos('/', HttpVersion) + 1, Length(HttpVersion));
+  end;
+end;
+
+function THttpRequestHeader.GetFirstHeaderLine: String;
+begin
+  Result := Command + ' ' + URI;
+  if Length(HttpVersion) > 0 then
+    Result := Result + ' HTTP/' + HttpVersion;
+end;
+
+
+// -------------------------------------------------------------------
+//   THttpAnswerHeader
+// -------------------------------------------------------------------
+
+procedure THttpAnswerHeader.ParseFirstHeaderLine(const line: String);
+var
+  i: Integer;
+  s: String;
+begin
+  i := Pos('/', line);
+  s := Copy(line, i + 1, Length(line));
+  i := Pos(' ', s);
+  HttpVersion := Copy(s, 1, i - 1);
+  s := Copy(s, i + 1, Length(s));
+  i := Pos(' ', s);
+  if i > 0 then begin
+    CodeText := Copy(s, i + 1, Length(s));
+    s := Copy(s, 1, i - 1);
+  end;
+  Code := StrToInt(s);
+end;
+
+function THttpAnswerHeader.GetFirstHeaderLine: String;
+begin
+  Result := Format('HTTP/%s %d %s', [HttpVersion, Code, CodeText]);
+end;
+
+constructor THttpAnswerHeader.Create;
+begin
+  inherited Create;
+  Code := 200;
+  CodeText := 'OK';
+end;
+
+
+// -------------------------------------------------------------------
+//   TCustomHttpConnection
+// -------------------------------------------------------------------
+
+procedure TCustomHttpConnection.HeaderToSendCompleted(Sender: TObject);
+begin
+  //WriteLn('TCustomHttpConnection.HeaderToSendCompleted');
+  if Assigned(FOnHeaderSent) then
+    FOnHeaderSent(Self);
+  if Assigned(StreamToSend) then begin
+    SendBuffer := TAsyncWriteStream.Create(FManager, FSocket);
+    SendBuffer.CopyFrom(StreamToSend, StreamToSend.Size);
+    SendBuffer.OnBufferEmpty := @StreamToSendCompleted;
+    SendBuffer.Run;
+  end else
+    StreamToSendCompleted(nil);
+end;
+
+procedure TCustomHttpConnection.StreamToSendCompleted(Sender: TObject);
+begin
+  if Assigned(FOnStreamSent) then
+    FOnStreamSent(Self);
+  //WriteLn('TCustomHttpConnection.StreamToSendCompleted');
+  SendBuffer.Free;
+  SendBuffer := nil;
+end;
+
+procedure TCustomHttpConnection.ReceivedHeaderCompleted(Sender: TObject);
+var
+  BytesInBuffer: Integer;
+begin
+  //WriteLn('TCustomHttpConnection.ReceivedHeaderCompleted');
+  BytesInBuffer := ReceivedHeader.Reader.BytesInBuffer;
+  //WriteLn('BytesInBuffer: ', BytesInBuffer, ', Content length: ', ReceivedHeader.ContentLength);
+  if Assigned(FOnHeaderReceived) then
+    FOnHeaderReceived(Self);
+  RecvSize := ReceivedHeader.ContentLength;
+  if Assigned(ReceivedStream) then
+  begin
+    if BytesInBuffer > 0 then
+    begin
+      ReceivedStream.Write(ReceivedHeader.Reader.Buffer^, BytesInBuffer);
+      if RecvSize > 0 then
+        Dec(RecvSize, BytesInBuffer);
+      if BytesInBuffer = ReceivedHeader.ContentLength then
+      begin
+        ReceivedStreamCompleted(nil);
+        exit;
+      end;
+    end;
+    FManager.SetReadHandler(FSocket.Handle, @DataAvailable, nil);
+  end else
+    ReceivedStreamCompleted(nil);
+end;
+
+procedure TCustomHttpConnection.DataAvailable(Sender: TObject);
+var
+  FirstRun: Boolean;
+  ReadNow, BytesRead: Integer;
+  buf: array[0..1023] of Byte;
+begin
+  FirstRun := True;
+  while True do
+  begin
+    if RecvSize >= 0 then
+    begin
+      ReadNow := RecvSize;
+      if ReadNow > 1024 then
+        ReadNow := 1024;
+    end else
+      ReadNow := 1024;
+    BytesRead := FSocket.Read(buf, ReadNow);
+    //WriteLn('TCustomHttpConnection.DataAvailable: Read ', BytesRead, ' bytes; RecvSize=', RecvSize);
+    if BytesRead <= 0 then
+    begin
+      if FirstRun then
+        ReceivedStreamCompleted(nil);
+      break;
+    end;
+    FirstRun := False;
+    ReceivedStream.Write(buf, BytesRead);
+    if RecvSize > 0 then
+      Dec(RecvSize, BytesRead);
+    if RecvSize = 0 then
+    begin
+      ReceivedStreamCompleted(nil);
+      break;
+    end;
+  end;
+end;
+
+procedure TCustomHttpConnection.ReceivedStreamCompleted(Sender: TObject);
+begin
+  //WriteLn('TCustomHttpConnection.ReceivedStreamCompleted');
+  if Assigned(FOnStreamReceived) then
+    FOnStreamReceived(Self);
+  FManager.ClearReadHandler(FSocket.Handle);
+end;
+
+constructor TCustomHttpConnection.Create(AManager: TAsyncIOManager; ASocket: TInetSocket);
+begin
+  inherited Create;
+  FManager := AManager;
+  FSocket := ASocket;
+end;
+
+destructor TCustomHttpConnection.Destroy;
+begin
+  FManager.ClearReadHandler(FSocket.Handle);
+  inherited Destroy;
+end;
+
+procedure TCustomHttpConnection.Start;
+begin
+  // Start receiver
+  if Assigned(ReceivedHeader) then begin
+    ReceivedHeader.OnCompleted := @ReceivedHeaderCompleted;
+    ReceivedHeader.AsyncReceive(FManager, FSocket);
+  end;
+
+  // Start sender
+  if Assigned(HeaderToSend) then begin
+    // Set the 'Content-Length' field automatically, if possible
+    if (HeaderToSend.ContentLength = -1) and Assigned(StreamToSend) then
+      HeaderToSend.ContentLength := StreamToSend.Size;
+
+    HeaderToSend.OnCompleted := @HeaderToSendCompleted;
+    HeaderToSend.AsyncSend(FManager, FSocket)
+  end;
+end;
+
+
+end.
+
+
+{
+  $Log$
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+}

+ 2 - 11
fcl/inc/idea.pp

@@ -415,16 +415,7 @@ END.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2000-08-04 21:48:29  peter
-    * forgot some conflicts :(
+  Revision 1.6  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.4  2000/08/04 21:47:29  peter
-    * applied patch from Paul te Bokkel (merged)
-
-  Revision 1.3  2000/07/14 19:47:36  michael
-  + Fixed out parameter
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
- 
 }
 }

+ 6 - 15
fcl/inc/inifiles.pp

@@ -72,7 +72,8 @@ type
     function KeyByName(AName: string): TIniFileKey;
     function KeyByName(AName: string): TIniFileKey;
   public
   public
     destructor Destroy; override;
     destructor Destroy; override;
-    procedure Clear;
override;
+    procedure Clear;
+override;
     property Items[Index: integer]: TIniFileKey read GetItem; default;
     property Items[Index: integer]: TIniFileKey read GetItem; default;
   end;
   end;
 
 
@@ -786,23 +787,13 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2002-08-13 06:51:06  michael
+  Revision 1.6  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.5  2002/08/13 06:51:06  michael
   + Fixed memory leak reported by A. Chuchko (bug report 2079)
   + Fixed memory leak reported by A. Chuchko (bug report 2079)
 
 
   Revision 1.4  2002/06/13 17:28:41  michael
   Revision 1.4  2002/06/13 17:28:41  michael
   + Destructor was not freeing all memory. This is now fixed.
   + Destructor was not freeing all memory. This is now fixed.
 
 
-  Revision 1.3  2000/11/26 22:43:02  michael
-  + Merged fix from fixes branch
-
-
-  Revision 1.1.2.1  2000/11/26 22:41:26  michael
-  + Fix for addition of empty ident/value by Jean-Pierre Planas
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
-
-  Revision 1.1  2000/07/13 06:31:30  michael
-  + Initial import
-  
 }
 }

+ 5 - 2
fcl/inc/intf.inc

@@ -114,7 +114,10 @@
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2002-07-16 13:32:51  florian
+  Revision 1.2  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.1  2002/07/16 13:32:51  florian
     + skeleton for TInterfaceList added
     + skeleton for TInterfaceList added
 
 
-}
+}

+ 5 - 5
fcl/inc/iostream.pp

@@ -47,14 +47,14 @@ Constructor TIOStream.Create(IOSType : TiosType);
 
 
 begin
 begin
 {$ifdef win32}
 {$ifdef win32}
-  Case IOSType of 
+  Case IOSType of
     iosOutput : FType:=Stdoutputhandle;
     iosOutput : FType:=Stdoutputhandle;
     iosInput : FType:=Stdinputhandle;
     iosInput : FType:=Stdinputhandle;
     iosError : FType:=StdErrorHandle;
     iosError : FType:=StdErrorHandle;
   end;
   end;
 {$else}
 {$else}
   FType:=Ord(IOSType);
   FType:=Ord(IOSType);
-{$endif}  
+{$endif}
   Inherited Create(Ftype);
   Inherited Create(Ftype);
 end;
 end;
 
 
@@ -120,7 +120,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:59  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 5 - 20
fcl/inc/lists.inc

@@ -440,29 +440,14 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.8  2002-08-16 10:04:58  michael
+  Revision 1.9  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.8  2002/08/16 10:04:58  michael
   + Notify correctly implemented
   + Notify correctly implemented
 
 
   Revision 1.7  2002/07/16 14:00:55  florian
   Revision 1.7  2002/07/16 14:00:55  florian
     * raise takes now a void pointer as at and frame address
     * raise takes now a void pointer as at and frame address
       instead of a longint, fixed
       instead of a longint, fixed
 
 
-  Revision 1.6  2001/12/03 21:39:58  peter
-    * seek(int64) overload only for 1.1 compiler
-
-  Revision 1.5  2001/07/17 22:07:29  sg
-  * Added performance improvements suggested by Mattias Gaertner
-    - list grows in steps of 25% if size >= 128
-    - list shrinks by 50% if size drops below a quarter of the capacity
-
-  Revision 1.4  2000/11/17 13:39:49  sg
-  * Extended Error methods so that exceptions are raised from the caller's
-    address instead of the Error method
-
-  Revision 1.3  2000/09/14 18:39:31  michael
-  + Fixed setcapacity
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
-
-}
+}

+ 4 - 11
fcl/inc/parser.inc

@@ -232,7 +232,7 @@ begin
         while P^ in ['0'..'9'] do Inc(P);
         while P^ in ['0'..'9'] do Inc(P);
         Result := toInteger;
         Result := toInteger;
         while (P^ in ['0'..'9', '.', 'e', 'E', '+', '-']) and not
         while (P^ in ['0'..'9', '.', 'e', 'E', '+', '-']) and not
-	  ((P[0] = '.') and not (P[1] in ['0'..'9', 'e', 'E'])) do
+          ((P[0] = '.') and not (P[1] in ['0'..'9', 'e', 'E'])) do
         begin
         begin
           Inc(P);
           Inc(P);
           Result := toFloat;
           Result := toFloat;
@@ -308,14 +308,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-11-08 11:12:57  sg
-  * Parser now only detects a number as float when the "." is followed by
-    a valid char. Else the input is handled as a normal integer, followed by
-    the dot as separate char. This allows to parse input such as
-    "0..9" - until now this would have lead to a float "0..9" which, of
-    course, couldn't be converted afterwards.
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
- 
+  Revision 1.4  2002-09-07 15:15:24  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 2 - 5
fcl/inc/persist.inc

@@ -160,10 +160,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-08-12 22:10:36  peter
-    * some interface updates for 1.1
-
-  Revision 1.2  2000/07/13 11:32:59  michael
-  + removed logs
+  Revision 1.4  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 3 - 3
fcl/inc/pipes.pp

@@ -123,7 +123,7 @@ end;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:59  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 16 - 40
fcl/inc/process.pp

@@ -25,10 +25,10 @@ Uses Classes,
      Linux,
      Linux,
 {$else}
 {$else}
      unix,
      unix,
-{$endif}     
-{$else}          
+{$endif}
+{$else}
      Windows,
      Windows,
-{$endif}     
+{$endif}
      SysUtils;
      SysUtils;
 
 
 Type
 Type
@@ -93,13 +93,13 @@ Type
     hStdOutput: THandle;
     hStdOutput: THandle;
     hStdError: THandle;
     hStdError: THandle;
   end;
   end;
-   
+
   PSecurityAttributes = ^TSecurityAttributes;
   PSecurityAttributes = ^TSecurityAttributes;
   TSecurityAttributes = Record
   TSecurityAttributes = Record
-    nlength : Integer; 
+    nlength : Integer;
     lpSecurityDescriptor : Pointer;
     lpSecurityDescriptor : Pointer;
     BinheritHandle : Boolean;
     BinheritHandle : Boolean;
-  end;  
+  end;
 
 
 Const piInheritablePipe : TSecurityAttributes = (
 Const piInheritablePipe : TSecurityAttributes = (
                            nlength:SizeOF(TSecurityAttributes);
                            nlength:SizeOF(TSecurityAttributes);
@@ -115,9 +115,9 @@ Type
 
 
   TProcess = Class (TComponent)
   TProcess = Class (TComponent)
   Private
   Private
-{$ifndef unix}  
+{$ifndef unix}
     FAccess : Cardinal;
     FAccess : Cardinal;
-{$endif}    
+{$endif}
     FApplicationName : string;
     FApplicationName : string;
     FChildErrorStream : TOutPutPipeStream;
     FChildErrorStream : TOutPutPipeStream;
     FChildInputSTream : TInputPipeStream;
     FChildInputSTream : TInputPipeStream;
@@ -169,7 +169,7 @@ Type
     procedure SetEnvironment(const Value: TStrings);
     procedure SetEnvironment(const Value: TStrings);
 {$ifdef unix}
 {$ifdef unix}
     function PeekLinuxExitStatus: Boolean;
     function PeekLinuxExitStatus: Boolean;
-{$endif}    
+{$endif}
   Public
   Public
     Constructor Create (AOwner : TComponent);override;
     Constructor Create (AOwner : TComponent);override;
     Destructor Destroy; override;
     Destructor Destroy; override;
@@ -259,14 +259,14 @@ var FreedStreams: TList;
   procedure FreeStream(var AnObject: TObject);
   procedure FreeStream(var AnObject: TObject);
 
 
   begin
   begin
-    if FreedStreams.IndexOf(AnObject)<0 then 
+    if FreedStreams.IndexOf(AnObject)<0 then
       begin
       begin
       FreedStreams.Add(AnObject);
       FreedStreams.Add(AnObject);
       AnObject.Free;
       AnObject.Free;
       end;
       end;
     AnObject:=nil;
     AnObject:=nil;
   end;
   end;
-                              
+
 begin
 begin
   FreedStreams:=TList.Create;
   FreedStreams:=TList.Create;
   try
   try
@@ -517,7 +517,7 @@ Procedure CommandToList(S : String; List : TStrings);
      While (WEnd<=Length(S)) and (S[Wend] in WhiteSpace) do
      While (WEnd<=Length(S)) and (S[Wend] in WhiteSpace) do
        inc(Wend);
        inc(Wend);
      Delete(S,1,WEnd-1);
      Delete(S,1,WEnd-1);
-     
+
   end;
   end;
 
 
 Var
 Var
@@ -806,7 +806,7 @@ begin
     FStartupInfo.dwFlags:=FStartupInfo.dwFlags and not Startf_UseShowWindow;
     FStartupInfo.dwFlags:=FStartupInfo.dwFlags and not Startf_UseShowWindow;
 {$ifndef unix}
 {$ifndef unix}
   FStartupInfo.wShowWindow:=SWC[Value];
   FStartupInfo.wShowWindow:=SWC[Value];
-{$endif}  
+{$endif}
 end;
 end;
 
 
 Procedure TProcess.SetWindowColumns (Value : Cardinal);
 Procedure TProcess.SetWindowColumns (Value : Cardinal);
@@ -917,31 +917,7 @@ end;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.12  2001-12-15 20:01:16  michael
-  + Applied FreeStreams fix from Mattias Gaertner
-
-  Revision 1.11  2001/12/15 19:53:37  michael
-  + Removed DWord and THandle
-
-  Revision 1.10  2001/12/14 07:53:32  michael
-    - Removed trect as well.
-
-  Revision 1.9  2001/12/13 18:34:59  michael
-    * Removed TPoint declaration, it conflicts with classes definition
-
-  Revision 1.8  2001/12/11 11:15:15  marco
-   * ifdef linux -> Unix fix
-
-  Revision 1.7  2001/11/24 20:43:56  carl
-  * fix compilation problems under non-linux systems
-
-  Revision 1.6  2001/11/08 13:01:06  michael
-  + Fixed win32 compile
-
-  Revision 1.5  2001/11/05 21:45:35  michael
-  + unix/linux unit name conflict
-
-  Revision 1.4  2001/11/05 21:07:08  michael
-  + Added header and mode switch
+  Revision 1.13  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
 
 
-}
+}

+ 81 - 95
fcl/inc/reader.inc

@@ -74,13 +74,13 @@ begin
       ValueType := NextValue;
       ValueType := NextValue;
       case ValueType of
       case ValueType of
         vaInt8:
         vaInt8:
-	  AChildPos := ReadInt8;
-	vaInt16:
-	  AChildPos := ReadInt16;
+          AChildPos := ReadInt8;
+        vaInt16:
+          AChildPos := ReadInt16;
         vaInt32:
         vaInt32:
-	  AChildPos := ReadInt32;
-	else
-	  raise EReadError.Create(SInvalidPropertyValue);
+          AChildPos := ReadInt32;
+        else
+          raise EReadError.Create(SInvalidPropertyValue);
       end;
       end;
     end;
     end;
   end;
   end;
@@ -131,7 +131,7 @@ begin
     vaIdent:
     vaIdent:
       begin
       begin
         Read(i, 1);
         Read(i, 1);
-	SetLength(Result, i);
+        SetLength(Result, i);
         Read(Pointer(@Result[1])^, i);
         Read(Pointer(@Result[1])^, i);
       end;
       end;
     vaNil:
     vaNil:
@@ -273,7 +273,7 @@ begin
       begin
       begin
         while NextValue <> vaNull do
         while NextValue <> vaNull do
           SkipValue;
           SkipValue;
-	ReadValue;
+        ReadValue;
       end;
       end;
     vaInt8:
     vaInt8:
       SkipBytes(1);
       SkipBytes(1);
@@ -296,15 +296,15 @@ begin
       begin
       begin
         while NextValue <> vaNull do
         while NextValue <> vaNull do
         begin
         begin
-	  { Skip the order value if present }
+          { Skip the order value if present }
           if NextValue in [vaInt8, vaInt16, vaInt32] then
           if NextValue in [vaInt8, vaInt16, vaInt32] then
-	    SkipValue;
+            SkipValue;
           SkipBytes(1);
           SkipBytes(1);
           while NextValue <> vaNull do
           while NextValue <> vaNull do
-	    SkipProperty;
-	  ReadValue;
+            SkipProperty;
+          ReadValue;
         end;
         end;
-	ReadValue;
+        ReadValue;
       end;
       end;
     vaSingle:
     vaSingle:
       SkipBytes(Sizeof(Single));
       SkipBytes(Sizeof(Single));
@@ -528,7 +528,7 @@ begin
       for i := Count - 1 downto 0 do
       for i := Count - 1 downto 0 do
         with TPropFixup(Items[i]) do
         with TPropFixup(Items[i]) do
           if (FInstance = Fixup.FInstance) and
           if (FInstance = Fixup.FInstance) and
-	    (FPropInfo = Fixup.FPropInfo) then
+            (FPropInfo = Fixup.FPropInfo) then
           begin
           begin
             Free;
             Free;
             Delete(i);
             Delete(i);
@@ -636,7 +636,7 @@ begin
     while not EndOfList do
     while not EndOfList do
     begin
     begin
       if FDriver.NextValue in [vaInt8, vaInt16, vaInt32] then
       if FDriver.NextValue in [vaInt8, vaInt16, vaInt32] then
-        ReadInteger;		{ Skip order value }
+        ReadInteger;            { Skip order value }
       Item := Collection.Add;
       Item := Collection.Add;
       ReadListBegin;
       ReadListBegin;
       while not EndOfList do
       while not EndOfList do
@@ -681,28 +681,28 @@ begin
     if not Assigned(Result) then
     if not Assigned(Result) then
       try
       try
         if ffInherited in Flags then
         if ffInherited in Flags then
-	begin
+        begin
           { Try to locate the existing ancestor component }
           { Try to locate the existing ancestor component }
 
 
-	  if Assigned(FLookupRoot) then
-	    Result := FLookupRoot.FindComponent(Name)
-	  else
-	    Result := nil;
+          if Assigned(FLookupRoot) then
+            Result := FLookupRoot.FindComponent(Name)
+          else
+            Result := nil;
 
 
-	  if not Assigned(Result) then
-	  begin
-	    if Assigned(FOnAncestorNotFound) then
-	      FOnAncestorNotFound(Self, Name,
-	        FindComponentClass(CompClassName), Result);
-	    if not Assigned(Result) then
-	      raise EReadError.CreateFmt(SAncestorNotFound, [Name]);
-	  end;
+          if not Assigned(Result) then
+          begin
+            if Assigned(FOnAncestorNotFound) then
+              FOnAncestorNotFound(Self, Name,
+                FindComponentClass(CompClassName), Result);
+            if not Assigned(Result) then
+              raise EReadError.CreateFmt(SAncestorNotFound, [Name]);
+          end;
 
 
           Parent := Result.GetParentComponent;
           Parent := Result.GetParentComponent;
           if not Assigned(Parent) then
           if not Assigned(Parent) then
-	    Parent := Root;
-	end else
-	begin
+            Parent := Root;
+        end else
+        begin
           Result := nil;
           Result := nil;
           ComponentClass := FindComponentClass(CompClassName);
           ComponentClass := FindComponentClass(CompClassName);
           if Assigned(FOnCreateComponent) then
           if Assigned(FOnCreateComponent) then
@@ -711,20 +711,20 @@ begin
           begin
           begin
             NewComponent := TComponent(ComponentClass.NewInstance);
             NewComponent := TComponent(ComponentClass.NewInstance);
             if ffInline in Flags then
             if ffInline in Flags then
-	      NewComponent.FComponentState :=
-	        NewComponent.FComponentState + [csLoading, csInline];
+              NewComponent.FComponentState :=
+                NewComponent.FComponentState + [csLoading, csInline];
             NewComponent.Create(Owner);
             NewComponent.Create(Owner);
 
 
-	    { Don't set Result earlier because else we would come in trouble
-	      with the exception recover mechanism! (Result should be NIL if
-	      an error occured) }
+            { Don't set Result earlier because else we would come in trouble
+              with the exception recover mechanism! (Result should be NIL if
+              an error occured) }
             Result := NewComponent;
             Result := NewComponent;
           end;
           end;
           Include(Result.FComponentState, csLoading);
           Include(Result.FComponentState, csLoading);
-	end;
+        end;
       except
       except
         if not Recover(Result) then
         if not Recover(Result) then
-	  raise;
+          raise;
       end;
       end;
 
 
     if Assigned(Result) then
     if Assigned(Result) then
@@ -733,36 +733,36 @@ begin
         if not (ffInherited in Flags) then
         if not (ffInherited in Flags) then
           try
           try
             Result.SetParentComponent(Parent);
             Result.SetParentComponent(Parent);
-	    if Assigned(FOnSetName) then
-	      FOnSetName(Self, Result, Name);
-	    Result.Name := Name;
+            if Assigned(FOnSetName) then
+              FOnSetName(Self, Result, Name);
+            Result.Name := Name;
             if Assigned(FindGlobalComponent) and
             if Assigned(FindGlobalComponent) and
               (FindGlobalComponent(Name) = Result) then
               (FindGlobalComponent(Name) = Result) then
               Include(Result.FComponentState, csInline);
               Include(Result.FComponentState, csInline);
           except
           except
             if not Recover(Result) then
             if not Recover(Result) then
-	      raise;
+              raise;
           end;
           end;
         if not Assigned(Result) then
         if not Assigned(Result) then
-	  exit;
+          exit;
         if csInline in Result.ComponentState then
         if csInline in Result.ComponentState then
           FLookupRoot := Result;
           FLookupRoot := Result;
 
 
-	{ Read the component state }
+        { Read the component state }
         Include(Result.FComponentState, csReading);
         Include(Result.FComponentState, csReading);
         Result.ReadState(Self);
         Result.ReadState(Self);
         Exclude(Result.FComponentState, csReading);
         Exclude(Result.FComponentState, csReading);
 
 
         if ffChildPos in Flags then
         if ffChildPos in Flags then
-	  Parent.SetChildOrder(Result, ChildPos);
+          Parent.SetChildOrder(Result, ChildPos);
 
 
         { Add component to list of loaded components, if necessary }
         { Add component to list of loaded components, if necessary }
-	if (not ((ffInherited in Flags) or (csInline in Result.ComponentState))) or
-	  (FLoaded.IndexOf(Result) < 0) then
-	  FLoaded.Add(Result);
+        if (not ((ffInherited in Flags) or (csInline in Result.ComponentState))) or
+          (FLoaded.IndexOf(Result) < 0) then
+          FLoaded.Add(Result);
       except
       except
         if ((ffInherited in Flags) or Assigned(Component)) then
         if ((ffInherited in Flags) or Assigned(Component)) then
-	  Result.Free;
+          Result.Free;
         raise;
         raise;
       end;
       end;
   finally
   finally
@@ -920,30 +920,30 @@ begin
       while True do
       while True do
       begin
       begin
         NextPos := StrScan(DotPos, '.');
         NextPos := StrScan(DotPos, '.');
-	if Assigned(NextPos) then
-  	  FPropName := Copy(String(DotPos), 1, Integer(NextPos - DotPos))
+        if Assigned(NextPos) then
+          FPropName := Copy(String(DotPos), 1, Integer(NextPos - DotPos))
         else
         else
-	begin
-	  FPropName := DotPos;
-	  break;
-	end;
-	DotPos := NextPos + 1;
+        begin
+          FPropName := DotPos;
+          break;
+        end;
+        DotPos := NextPos + 1;
 
 
         PropInfo := GetPropInfo(Instance.ClassInfo, FPropName);
         PropInfo := GetPropInfo(Instance.ClassInfo, FPropName);
         if not Assigned(PropInfo) then
         if not Assigned(PropInfo) then
-	  PropertyError;
+          PropertyError;
 
 
         if PropInfo^.PropType^.Kind = tkClass then
         if PropInfo^.PropType^.Kind = tkClass then
           Obj := TObject(GetOrdProp(Instance, PropInfo))
           Obj := TObject(GetOrdProp(Instance, PropInfo))
-	else
-	  Obj := nil;
+        else
+          Obj := nil;
 
 
         if not Obj.InheritsFrom(TPersistent) then
         if not Obj.InheritsFrom(TPersistent) then
-	begin
-	  { All path elements must be persistent objects! }
-	  FDriver.SkipValue;
+        begin
+          { All path elements must be persistent objects! }
+          FDriver.SkipValue;
           raise EReadError.Create(SInvalidPropertyPath);
           raise EReadError.Create(SInvalidPropertyPath);
-	end;
+        end;
         Instance := TPersistent(Obj);
         Instance := TPersistent(Obj);
       end;
       end;
 
 
@@ -956,18 +956,18 @@ begin
         Instance.DefineProperties(Self);
         Instance.DefineProperties(Self);
         FCanHandleExcepts := True;
         FCanHandleExcepts := True;
         if Length(FPropName) > 0 then
         if Length(FPropName) > 0 then
-	  PropertyError;
+          PropertyError;
       end;
       end;
     except
     except
       on e: Exception do
       on e: Exception do
       begin
       begin
         SetLength(Name, 0);
         SetLength(Name, 0);
         if AInstance.InheritsFrom(TComponent) then
         if AInstance.InheritsFrom(TComponent) then
-	  Name := TComponent(AInstance).Name;
+          Name := TComponent(AInstance).Name;
         if Length(Name) = 0 then
         if Length(Name) = 0 then
-	  Name := AInstance.ClassName;
+          Name := AInstance.ClassName;
         raise EReadError.CreateFmt(SPropertyException,
         raise EReadError.CreateFmt(SPropertyException,
-	  [Name, DotSep, Path, e.Message]);
+          [Name, DotSep, Path, e.Message]);
       end;
       end;
     end;
     end;
   except
   except
@@ -1020,7 +1020,7 @@ begin
       begin
       begin
         CheckValue(vaSet);
         CheckValue(vaSet);
         SetOrdProp(Instance, PropInfo,
         SetOrdProp(Instance, PropInfo,
-	  FDriver.ReadSet(GetTypeData(PropType)^.CompType));
+          FDriver.ReadSet(GetTypeData(PropType)^.CompType));
       end;
       end;
     tkMethod:
     tkMethod:
       if FDriver.NextValue = vaNil then
       if FDriver.NextValue = vaNil then
@@ -1032,7 +1032,7 @@ begin
         Method.Code := FindMethod(Root, ReadIdent);
         Method.Code := FindMethod(Root, ReadIdent);
         Method.Data := Root;
         Method.Data := Root;
         if Assigned(Method.Code) then
         if Assigned(Method.Code) then
-	  SetMethodProp(Instance, PropInfo, Method);
+          SetMethodProp(Instance, PropInfo, Method);
       end;
       end;
     tkSString, tkLString, tkAString, tkWString:
     tkSString, tkLString, tkAString, tkWString:
       SetStrProp(Instance, PropInfo, ReadString);
       SetStrProp(Instance, PropInfo, ReadString);
@@ -1081,22 +1081,22 @@ begin
 
 
         if not (csDesigning in Result.ComponentState) then
         if not (csDesigning in Result.ComponentState) then
         begin
         begin
-	  Result.FComponentState :=
-	    Result.FComponentState + [csLoading, csReading];
+          Result.FComponentState :=
+            Result.FComponentState + [csLoading, csReading];
 
 
           if Assigned(FindGlobalComponent) then
           if Assigned(FindGlobalComponent) then
           begin
           begin
-	    { We need an unique name }
+            { We need an unique name }
             i := 0;
             i := 0;
-	    { Don't use Result.Name directly, as this would influence
-	      FindGlobalComponent in successive loop runs }
+            { Don't use Result.Name directly, as this would influence
+              FindGlobalComponent in successive loop runs }
             ResultName := CompName;
             ResultName := CompName;
             while Assigned(FindGlobalComponent(ResultName)) do
             while Assigned(FindGlobalComponent(ResultName)) do
             begin
             begin
               Inc(i);
               Inc(i);
               ResultName := CompName + '_' + IntToStr(i);
               ResultName := CompName + '_' + IntToStr(i);
             end;
             end;
-	    Result.Name := ResultName;
+            Result.Name := ResultName;
           end else
           end else
             Result.Name := '';
             Result.Name := '';
         end;
         end;
@@ -1113,17 +1113,17 @@ begin
         if FLoaded.IndexOf(FRoot) < 0 then
         if FLoaded.IndexOf(FRoot) < 0 then
           FLoaded.Add(FRoot);
           FLoaded.Add(FRoot);
         FOwner := FRoot;
         FOwner := FRoot;
-	FRoot.FComponentState := FRoot.FComponentState + [csLoading, csReading];
+        FRoot.FComponentState := FRoot.FComponentState + [csLoading, csReading];
         FRoot.ReadState(Self);
         FRoot.ReadState(Self);
         Exclude(FRoot.FComponentState, csReading);
         Exclude(FRoot.FComponentState, csReading);
 
 
         if not Assigned(GlobalLoaded) then
         if not Assigned(GlobalLoaded) then
           for i := 0 to FLoaded.Count - 1 do
           for i := 0 to FLoaded.Count - 1 do
-	    TComponent(FLoaded[i]).Loaded;
+            TComponent(FLoaded[i]).Loaded;
 
 
       finally
       finally
         if not Assigned(GlobalLoaded) then
         if not Assigned(GlobalLoaded) then
-	  FLoaded.Free;
+          FLoaded.Free;
         FLoaded := nil;
         FLoaded := nil;
       end;
       end;
       GlobalFixupReferences;
       GlobalFixupReferences;
@@ -1267,21 +1267,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2001-07-14 13:19:05  sg
-  * Simplified TBinaryObjectReader.ReadString
-  * TReader.ReadComponent now uses ComponentClass.NewInstance for creating
-    a new component instance
-
-  Revision 1.4  2001/03/08 19:32:22  michael
-  Fixes merged
-
-  Revision 1.3  2000/12/21 09:08:09  sg
-  * Applied bugfixes by Mattias Gaertner for TBinaryObjectReader.ReadSet
-    (uninitialized result and missing bit shifting) and
-    TReader.ReadRootComponent (finding an unique component name)
-    (merged from fixbranch)
-
-  Revision 1.2  2000/07/13 11:33:00  michael
-  + removed logs
- 
+  Revision 1.6  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 3
fcl/inc/registry.pp

@@ -918,7 +918,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:00  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 2 - 5
fcl/inc/rtfdata.inc

@@ -769,10 +769,7 @@ Const rtfKey : Array [0..281] of TRTFKey =
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-05-07 11:23:01  jonas
-    * fix for stricter typed constant records (from Peter)
+  Revision 1.4  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:33:00  michael
-  + removed logs
- 
 }
 }

+ 3 - 3
fcl/inc/rtfpars.pp

@@ -1075,7 +1075,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:00  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 4 - 28
fcl/inc/ssockets.pp

@@ -515,34 +515,10 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.11  2002-05-31 11:31:46  marco
-   * 1.0.x Renamefest for FCL. Fixed some oddities in 1.1 too
-
-  Revision 1.10  2001/12/17 21:03:55  sg
-  * Fixed merging mistake of my last commit :/
-
-  Revision 1.9  2001/12/17 20:21:35  sg
-  * Some cosmetic improvements (fixed wrong method visibilities etc.)
-  * TSocketStream now closes the underlying file handle upon destruction
-
-  Revision 1.8  2001/11/24 20:59:13  carl
-  * fix compilation problems for version 1.0.x branch
-
-  Revision 1.7  2001/11/20 18:53:29  peter
-    * overload fix
+  Revision 1.12  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.6  2001/04/20 18:50:00  marco
-   * FreeVSD fixy
-
-  Revision 1.5  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.4  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.3  2000/11/17 13:40:53  sg
-  * Fixed header and log section
+  Revision 1.11  2002/05/31 11:31:46  marco
+   * 1.0.x Renamefest for FCL. Fixed some oddities in 1.1 too
 
 
-  Revision 1.2  2000/07/13 11:33:00  michael
-  + removed logs
 }
 }

+ 11 - 25
fcl/inc/streams.inc

@@ -19,13 +19,13 @@
   function TStream.GetPosition: Int64;
   function TStream.GetPosition: Int64;
 
 
     begin
     begin
-       Result:=Seek(0,soCurrent);
+       Result:=Seek(0,soFromCurrent);
     end;
     end;
 
 
   procedure TStream.SetPosition(Pos: Int64);
   procedure TStream.SetPosition(Pos: Int64);
 
 
     begin
     begin
-       Seek(pos,soBeginning);
+       Seek(pos,soFromBeginning);
     end;
     end;
 
 
   procedure TStream.SetSize64(NewSize: Int64);
   procedure TStream.SetSize64(NewSize: Int64);
@@ -42,8 +42,8 @@
 
 
     begin
     begin
        p:=GetPosition;
        p:=GetPosition;
-       GetSize:=Seek(0,soEnd);
-       Seek(p,soBeginning);
+       GetSize:=Seek(0,soFromEnd);
+       Seek(p,soFromBeginning);
     end;
     end;
 
 
   procedure TStream.SetSize(NewSize: Longint);
   procedure TStream.SetSize(NewSize: Longint);
@@ -82,7 +82,7 @@
       if CurrClass<>nil then
       if CurrClass<>nil then
        begin
        begin
          CurrSeek:[email protected];
          CurrSeek:[email protected];
-         TStreamSeek:=@TStream(@CurrClass).Seek;
+         TStreamSeek:=@TStream(CurrClass).Seek;
          if TMethod(TStreamSeek).Code=TMethod(CurrSeek).Code then
          if TMethod(TStreamSeek).Code=TMethod(CurrSeek).Code then
           CurrSeek:=nil;
           CurrSeek:=nil;
        end;
        end;
@@ -99,7 +99,7 @@
       if (Offset<Low(longint)) or
       if (Offset<Low(longint)) or
          (Offset>High(longint)) then
          (Offset>High(longint)) then
         raise ERangeError.Create(SRangeError);
         raise ERangeError.Create(SRangeError);
-      Result:=Seek(longint(Offset),ord(Origin));
+      Seek(longint(Offset),ord(Origin));
     end;
     end;
 
 
 {$else seek64bit}
 {$else seek64bit}
@@ -631,8 +631,8 @@ procedure TMemoryStream.LoadFromFile(const FileName: string);
 Var S : TFileStream;
 Var S : TFileStream;
 
 
 begin
 begin
-  S:=TFileStream.Create (FileName,fmOpenRead);
   Try
   Try
+    S:=TFileStream.Create (FileName,fmOpenRead);
     LoadFromStream(S);
     LoadFromStream(S);
   finally
   finally
     S.free;
     S.free;
@@ -696,8 +696,8 @@ begin
   Result:=Length(FDataString)-FPosition;
   Result:=Length(FDataString)-FPosition;
   If Result>Count then Result:=Count;
   If Result>Count then Result:=Count;
   // This supposes FDataString to be of type AnsiString !
   // This supposes FDataString to be of type AnsiString !
-  Move (Pchar(FDataString)[FPosition],Buffer,Result);
-  FPosition:=FPosition+Result;
+  Move (Pchar(FDataString)[FPosition],Buffer,Count);
+  FPosition:=FPosition+Count;
 end;
 end;
 
 
 
 
@@ -784,22 +784,8 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.12  2002-04-25 19:14:13  sg
-  * Fixed TStringStream.ReadString
-
-  Revision 1.11  2002/12/18 16:45:33  peter
-    * set function result in TStream.Seek(int64) found by Mattias Gaertner
-
-  Revision 1.10  2002/12/18 16:35:59  peter
-    * fix crash in Seek()
-
-  Revision 1.9  2002/12/18 15:51:52  michael
-  + Hopefully fixed some issues with int64 seek
-
-  Revision 1.8  2002/10/22 09:38:39  michael
-  + Fixed TmemoryStream.LoadFromStream, reported by Mattias Gaertner
-
-  Revision 1.7  2002/09/07 15:15:25  peter
+  Revision 1.7  2002-09-07 15:15:25  peter
     * old logs removed and tabs fixed
     * old logs removed and tabs fixed
 
 
  }
  }
+

+ 4 - 30
fcl/inc/stringl.inc

@@ -1035,36 +1035,10 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.11  2002-07-17 11:52:01  florian
-    * at and frame addresses in raise statements changed to pointer; fixed
-
-  Revision 1.10  2001/05/20 12:10:03  peter
-    * fixed setcommatext
-
-  Revision 1.9  2001/04/13 18:03:28  peter
-    * commatext fixes
-
-  Revision 1.8  2001/04/10 23:24:51  peter
-    * merged fixes
-
-  Revision 1.7  2001/02/23 22:24:08  michael
-  + Fixed sorting of stringslist
+  Revision 1.12  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.6  2000/12/03 22:35:09  sg
-  * Applied patch by Markus Kaemmerer (merged):
-    - Added support for TStringList.CustomSort
-
-  Revision 1.5  2000/11/22 22:44:39  peter
-    * fixed commatext (merged)
-
-  Revision 1.4  2000/11/17 13:39:49  sg
-  * Extended Error methods so that exceptions are raised from the caller's
-    address instead of the Error method
-
-  Revision 1.3  2000/11/13 15:46:55  marco
-   * Unix renamefest for defines.
-
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
+  Revision 1.11  2002/07/17 11:52:01  florian
+    * at and frame addresses in raise statements changed to pointer; fixed
 
 
 }
 }

+ 3 - 3
fcl/inc/syncob.inc

@@ -27,7 +27,7 @@ procedure TCriticalSection.Leave;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:01  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:25  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 2 - 5
fcl/inc/syncobh.inc

@@ -60,10 +60,7 @@ type
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-04-13 18:02:57  peter
-    * added missing twaitresult type
-
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
+  Revision 1.4  2002-09-07 15:15:26  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 3 - 3
fcl/inc/twriter.inc

@@ -215,7 +215,7 @@ end;*)
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:01  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:26  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 3
fcl/inc/util.inc

@@ -26,7 +26,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:01  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:26  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 74 - 80
fcl/inc/writer.inc

@@ -360,7 +360,7 @@ begin
     begin
     begin
       { Each collection item needs its own ListBegin/ListEnd tag, or else the
       { Each collection item needs its own ListBegin/ListEnd tag, or else the
         reader wouldn't be able to know where an item ends and where the next
         reader wouldn't be able to know where an item ends and where the next
-	one starts }
+        one starts }
       WriteListBegin;
       WriteListBegin;
       WriteProperties(Value.Items[i]);
       WriteProperties(Value.Items[i]);
       WriteListEnd;
       WriteListEnd;
@@ -391,10 +391,10 @@ begin
       begin
       begin
         CurAncestor := TComponent(FAncestorList[i]);
         CurAncestor := TComponent(FAncestorList[i]);
         if UpperCase(CurAncestor.Name) = s then
         if UpperCase(CurAncestor.Name) = s then
-	begin
-	  Ancestor := CurAncestor;
-	  break;
-	end;
+        begin
+          Ancestor := CurAncestor;
+          break;
+        end;
       end;
       end;
     end;
     end;
 
 
@@ -596,7 +596,7 @@ var
   SavedPropPath, Name: String;
   SavedPropPath, Name: String;
   Int64Value, DefInt64Value: Int64;
   Int64Value, DefInt64Value: Int64;
   BoolValue, DefBoolValue: boolean;
   BoolValue, DefBoolValue: boolean;
-  
+
 begin
 begin
 
 
   if (not Assigned(PPropInfo(PropInfo)^.SetProc)) or
   if (not Assigned(PPropInfo(PropInfo)^.SetProc)) or
@@ -619,28 +619,28 @@ begin
 
 
         if Value <> DefValue then
         if Value <> DefValue then
         begin
         begin
-	  Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+          Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           case PropType^.Kind of
           case PropType^.Kind of
             tkInteger:
             tkInteger:
-      	      begin
-		// Check if this integer has a string identifier
-		IntToIdentFn := FindIntToIdent(PPropInfo(PropInfo)^.PropType);
-		if Assigned(IntToIdentFn) and IntToIdentFn(Value, Ident) then
-	          // Integer can be written a human-readable identifier
-	          WriteIdent(Ident)
-		else
-	          // Integer has to be written just as number
-	          WriteInteger(Value);
-	      end;
-    	    tkChar:
+              begin
+                // Check if this integer has a string identifier
+                IntToIdentFn := FindIntToIdent(PPropInfo(PropInfo)^.PropType);
+                if Assigned(IntToIdentFn) and IntToIdentFn(Value, Ident) then
+                  // Integer can be written a human-readable identifier
+                  WriteIdent(Ident)
+                else
+                  // Integer has to be written just as number
+                  WriteInteger(Value);
+              end;
+            tkChar:
               WriteChar(Chr(Value));
               WriteChar(Chr(Value));
-    	    tkSet:
-	      Driver.WriteSet(Value, GetTypeData(PropType)^.CompType);
-    	    tkEnumeration:
+            tkSet:
+              Driver.WriteSet(Value, GetTypeData(PropType)^.CompType);
+            tkEnumeration:
               WriteIdent(GetEnumName(PropType, Value));
               WriteIdent(GetEnumName(PropType, Value));
           end;
           end;
-	  Driver.EndProperty;
-	end;
+          Driver.EndProperty;
+        end;
       end;
       end;
     tkFloat:
     tkFloat:
       begin
       begin
@@ -651,9 +651,9 @@ begin
           DefFloatValue := 0;
           DefFloatValue := 0;
         if FloatValue <> DefFloatValue then
         if FloatValue <> DefFloatValue then
         begin
         begin
-	  Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+          Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           WriteFloat(FloatValue);
           WriteFloat(FloatValue);
-	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
         end;
       end;
       end;
     tkMethod:
     tkMethod:
@@ -673,7 +673,7 @@ begin
             Driver.WriteMethodName(FLookupRoot.MethodName(MethodValue.Code))
             Driver.WriteMethodName(FLookupRoot.MethodName(MethodValue.Code))
           else
           else
             Driver.WriteMethodName('');
             Driver.WriteMethodName('');
-	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
         end;
       end;
       end;
     tkSString, tkLString, tkAString, tkWString:
     tkSString, tkLString, tkAString, tkWString:
@@ -689,7 +689,7 @@ begin
         begin
         begin
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           WriteString(StrValue);
           WriteString(StrValue);
-	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
         end;
       end;
       end;
   {!!!: tkVariant:}
   {!!!: tkVariant:}
@@ -702,76 +702,76 @@ begin
           if Assigned(AncestorObj) then
           if Assigned(AncestorObj) then
             if Assigned(ObjValue) and
             if Assigned(ObjValue) and
               (TComponent(AncestorObj).Owner = FRootAncestor) and
               (TComponent(AncestorObj).Owner = FRootAncestor) and
-    	      (TComponent(ObjValue).Owner = Root) and
+              (TComponent(ObjValue).Owner = Root) and
               (UpperCase(TComponent(AncestorObj).Name) = UpperCase(TComponent(ObjValue).Name)) then
               (UpperCase(TComponent(AncestorObj).Name) = UpperCase(TComponent(ObjValue).Name)) then
               AncestorObj := ObjValue
               AncestorObj := ObjValue
-	    else
-	      AncestorObj := nil;
-	end else
+            else
+              AncestorObj := nil;
+        end else
           AncestorObj := nil;
           AncestorObj := nil;
 
 
-	if not Assigned(ObjValue) then
-	begin
-	  if ObjValue <> AncestorObj then
-	  begin
-	    Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
-	    Driver.WriteIdent('NIL');
-	    Driver.EndProperty;
-	  end
-	end else if ObjValue.InheritsFrom(TPersistent) then
+        if not Assigned(ObjValue) then
+        begin
+          if ObjValue <> AncestorObj then
+          begin
+            Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+            Driver.WriteIdent('NIL');
+            Driver.EndProperty;
+          end
+        end else if ObjValue.InheritsFrom(TPersistent) then
           if ObjValue.InheritsFrom(TComponent) then
           if ObjValue.InheritsFrom(TComponent) then
           begin
           begin
-	    Component := TComponent(ObjValue);
-	    if ObjValue <> AncestorObj then
-    	    begin
-	      { Determine the correct name of the component this property contains }
+            Component := TComponent(ObjValue);
+            if ObjValue <> AncestorObj then
+            begin
+              { Determine the correct name of the component this property contains }
               if Component.Owner = LookupRoot then
               if Component.Owner = LookupRoot then
-        	Name := Component.Name
+                Name := Component.Name
               else if Component = LookupRoot then
               else if Component = LookupRoot then
-        	Name := 'Owner'
+                Name := 'Owner'
               else if Assigned(Component.Owner) and (Length(Component.Owner.Name) > 0)
               else if Assigned(Component.Owner) and (Length(Component.Owner.Name) > 0)
-        	and (Length(Component.Name) > 0) then
-        	Name := Component.Owner.Name + '.' + Component.Name
+                and (Length(Component.Name) > 0) then
+                Name := Component.Owner.Name + '.' + Component.Name
               else if Length(Component.Name) > 0 then
               else if Length(Component.Name) > 0 then
-        	Name := Component.Name + '.Owner'
+                Name := Component.Name + '.Owner'
               else
               else
-		SetLength(Name, 0);
+                SetLength(Name, 0);
 
 
               if Length(Name) > 0 then
               if Length(Name) > 0 then
               begin
               begin
-		Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
-        	WriteIdent(Name);
-		Driver.EndProperty;
+                Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+                WriteIdent(Name);
+                Driver.EndProperty;
               end;
               end;
-	    end;
+            end;
           end else if ObjValue.InheritsFrom(TCollection) then
           end else if ObjValue.InheritsFrom(TCollection) then
           begin
           begin
-    	    if (not HasAncestor) or (not CollectionsEqual(TCollection(ObjValue),
+            if (not HasAncestor) or (not CollectionsEqual(TCollection(ObjValue),
               TCollection(GetOrdProp(Ancestor, PropInfo)))) then
               TCollection(GetOrdProp(Ancestor, PropInfo)))) then
-	    begin
-	      Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+            begin
+              Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
               SavedPropPath := FPropPath;
               SavedPropPath := FPropPath;
               try
               try
-        	SetLength(FPropPath, 0);
-        	WriteCollection(TCollection(ObjValue));
+                SetLength(FPropPath, 0);
+                WriteCollection(TCollection(ObjValue));
               finally
               finally
-        	FPropPath := SavedPropPath;
-		Driver.EndProperty;
+                FPropPath := SavedPropPath;
+                Driver.EndProperty;
               end;
               end;
-    	    end;
+            end;
           end else
           end else
           begin
           begin
-    	    SavedAncestor := Ancestor;
-    	    SavedPropPath := FPropPath;
-    	    try
+            SavedAncestor := Ancestor;
+            SavedPropPath := FPropPath;
+            try
               FPropPath := FPropPath + PPropInfo(PropInfo)^.Name + '.';
               FPropPath := FPropPath + PPropInfo(PropInfo)^.Name + '.';
               if HasAncestor then
               if HasAncestor then
-        	Ancestor := TPersistent(GetOrdProp(Ancestor, PropInfo));
+                Ancestor := TPersistent(GetOrdProp(Ancestor, PropInfo));
               WriteProperties(TPersistent(ObjValue));
               WriteProperties(TPersistent(ObjValue));
-    	    finally
+            finally
               Ancestor := SavedAncestor;
               Ancestor := SavedAncestor;
               FPropPath := SavedPropPath;
               FPropPath := SavedPropPath;
-    	    end;
+            end;
           end;
           end;
       end;
       end;
     tkInt64:
     tkInt64:
@@ -785,7 +785,7 @@ begin
         begin
         begin
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           WriteInteger(Int64Value);
           WriteInteger(Int64Value);
-       	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
         end;
       end;
       end;
     tkBool:
     tkBool:
@@ -823,19 +823,13 @@ end;}
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2002-09-04 13:33:58  michael
+  Revision 1.6  2002-09-07 15:15:26  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.5  2002/09/04 13:33:58  michael
    Fix from Mattias Gaertner, boolean streaming now respects default
    Fix from Mattias Gaertner, boolean streaming now respects default
 
 
   Revision 1.4  2002/09/03 06:02:57  michael
   Revision 1.4  2002/09/03 06:02:57  michael
   + Applied patch from Matthias Gaertner to stream booleans
   + Applied patch from Matthias Gaertner to stream booleans
 
 
-  Revision 1.3  2000/12/21 09:10:16  sg
-  Merged from fixbranch:
-  * Applied bugfix by Mattias Gaertner for TWriter.WriteProperty
-    (writing of NIL object instanced caused an invalid access)
-  * Optimized some 'is'/InheritsFrom occurencies
-
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
- 
-}
+}

+ 2 - 8
fcl/inc/zstream.pp

@@ -448,13 +448,7 @@ end;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.4  2001-01-29 21:52:17  peter
-    * New FPCMake update
-
-  Revision 1.3  2000/11/13 15:46:55  marco
-   * Unix renamefest for defines.
-
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
+  Revision 1.5  2002-09-07 15:15:26  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 8
fcl/linux/classes.pp

@@ -55,13 +55,7 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.4  2001-04-08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
+  Revision 1.5  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 11
fcl/linux/thread.inc

@@ -284,16 +284,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2001-10-09 02:24:14  carl
-  * bugfix #1639 (IsMultiThread varialbe setting)
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
+  Revision 1.6  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 50
fcl/netbsd/classes.pp

@@ -55,55 +55,7 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-09-05 14:30:04  marco
-   * NetBSD fcl makefile fixes. Plain copy from FreeBSD
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:31:32  michael
-  + Initial import
-
-  Revision 1.19  2000/07/01 09:49:02  peter
-    * fixed go32v2,win32 build
-
-  Revision 1.18  2000/06/29 16:32:06  sg
-  * Changes in initialisation/finalisation for streaming support
-
-  Revision 1.17  2000/06/27 17:17:34  lazarus
-  Added code for registerclass, GetClass and RegisterClasses
-  Shane
-
-  Revision 1.16  2000/06/27 15:55:19  lazarus
-  Added TThreadlist code.   Shane
-
-  Revision 1.15  2000/01/07 01:24:34  peter
-    * updated copyright to 2000
-
-  Revision 1.14  2000/01/07 00:01:33  peter
-    * uses typinfo moved to interface
-
-  Revision 1.13  2000/01/06 01:20:33  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.2  2000/01/04 18:07:58  michael
-  + Added typinfo unit
-
-  Revision 1.1  2000/01/03 19:33:09  peter
-    * moved to packages dir
-
-  Revision 1.11  1999/05/30 10:46:41  peter
-    * start of tthread for linux,win32
+  Revision 1.2  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 25
fcl/netbsd/process.inc

@@ -112,30 +112,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-09-05 14:30:04  marco
-   * NetBSD fcl makefile fixes. Plain copy from FreeBSD
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:33:44  michael
-  + Initial import
-
-  Revision 1.5  2000/02/15 22:03:38  sg
-  * Inserted wrong copyright notice ;)  Fixed.
-
-  Revision 1.4  2000/02/15 21:57:51  sg
-  * Added copyright notice and CVS log tags where necessary
+  Revision 1.2  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 46
fcl/netbsd/thread.inc

@@ -284,51 +284,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2001-10-09 02:22:31  carl
-  * bugfix #1639 (IsMultiThread varialbe setting)
-
-  Revision 1.1  2001/09/05 14:30:04  marco
-   * NetBSD fcl makefile fixes. Plain copy from FreeBSD
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:33:44  michael
-  + Initial import
-
-  Revision 1.9  2000/05/17 18:31:18  peter
-    * fixed for new sigactionrec
-
-  Revision 1.8  2000/01/07 01:24:34  peter
-    * updated copyright to 2000
-
-  Revision 1.7  2000/01/06 01:20:33  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.1  2000/01/03 19:33:09  peter
-    * moved to packages dir
-
-  Revision 1.5  1999/10/27 10:40:30  peter
-    * fixed threadproc decl
-
-  Revision 1.4  1999/08/28 09:32:26  peter
-    * readded header/log
-
-  Revision 1.2  1999/05/31 12:47:59  peter
-    * classes unit to unitobjects
-
-  Revision 1.1  1999/05/30 10:46:42  peter
-    * start of tthread for linux,win32
+  Revision 1.3  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 4 - 52
fcl/openbsd/classes.pp

@@ -55,58 +55,10 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2002-07-30 16:03:29  marco
-   * Added for OpenBSD. Plain copy of NetBSD
-
-  Revision 1.1  2001/09/05 14:30:04  marco
-   * NetBSD fcl makefile fixes. Plain copy from FreeBSD
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:31:32  michael
-  + Initial import
-
-  Revision 1.19  2000/07/01 09:49:02  peter
-    * fixed go32v2,win32 build
-
-  Revision 1.18  2000/06/29 16:32:06  sg
-  * Changes in initialisation/finalisation for streaming support
+  Revision 1.2  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.17  2000/06/27 17:17:34  lazarus
-  Added code for registerclass, GetClass and RegisterClasses
-  Shane
-
-  Revision 1.16  2000/06/27 15:55:19  lazarus
-  Added TThreadlist code.   Shane
-
-  Revision 1.15  2000/01/07 01:24:34  peter
-    * updated copyright to 2000
-
-  Revision 1.14  2000/01/07 00:01:33  peter
-    * uses typinfo moved to interface
-
-  Revision 1.13  2000/01/06 01:20:33  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.2  2000/01/04 18:07:58  michael
-  + Added typinfo unit
-
-  Revision 1.1  2000/01/03 19:33:09  peter
-    * moved to packages dir
-
-  Revision 1.11  1999/05/30 10:46:41  peter
-    * start of tthread for linux,win32
+  Revision 1.1  2002/07/30 16:03:29  marco
+   * Added for OpenBSD. Plain copy of NetBSD
 
 
 }
 }

+ 4 - 27
fcl/openbsd/process.inc

@@ -112,33 +112,10 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2002-07-30 16:03:29  marco
-   * Added for OpenBSD. Plain copy of NetBSD
-
-  Revision 1.1  2001/09/05 14:30:04  marco
-   * NetBSD fcl makefile fixes. Plain copy from FreeBSD
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
+  Revision 1.2  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:33:44  michael
-  + Initial import
-
-  Revision 1.5  2000/02/15 22:03:38  sg
-  * Inserted wrong copyright notice ;)  Fixed.
-
-  Revision 1.4  2000/02/15 21:57:51  sg
-  * Added copyright notice and CVS log tags where necessary
+  Revision 1.1  2002/07/30 16:03:29  marco
+   * Added for OpenBSD. Plain copy of NetBSD
 
 
 }
 }

+ 4 - 48
fcl/openbsd/thread.inc

@@ -284,54 +284,10 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2002-07-30 16:03:29  marco
-   * Added for OpenBSD. Plain copy of NetBSD
-
-  Revision 1.2  2001/10/09 02:22:31  carl
-  * bugfix #1639 (IsMultiThread varialbe setting)
-
-  Revision 1.1  2001/09/05 14:30:04  marco
-   * NetBSD fcl makefile fixes. Plain copy from FreeBSD
-
-  Revision 1.4  2001/04/08 11:26:03  peter
-    * update so it can be compiled by both 1.0.x and 1.1
-
-  Revision 1.3  2001/01/21 20:45:09  marco
-   * Rename fest II  FCL version.
-
-  Revision 1.2  2000/10/26 22:30:21  peter
-    * freebsd update
-    * classes.rst
-
-  Revision 1.1.2.1  2000/10/17 13:47:43  marco
-   * Copy of fcl/linux dir with adapted makefiles to ease FreeBSD 1.0.2
-  packaging
-
-  Revision 1.1  2000/07/13 06:33:44  michael
-  + Initial import
+  Revision 1.2  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.9  2000/05/17 18:31:18  peter
-    * fixed for new sigactionrec
-
-  Revision 1.8  2000/01/07 01:24:34  peter
-    * updated copyright to 2000
-
-  Revision 1.7  2000/01/06 01:20:33  peter
-    * moved out of packages/ back to topdir
-
-  Revision 1.1  2000/01/03 19:33:09  peter
-    * moved to packages dir
-
-  Revision 1.5  1999/10/27 10:40:30  peter
-    * fixed threadproc decl
-
-  Revision 1.4  1999/08/28 09:32:26  peter
-    * readded header/log
-
-  Revision 1.2  1999/05/31 12:47:59  peter
-    * classes unit to unitobjects
-
-  Revision 1.1  1999/05/30 10:46:42  peter
-    * start of tthread for linux,win32
+  Revision 1.1  2002/07/30 16:03:29  marco
+   * Added for OpenBSD. Plain copy of NetBSD
 
 
 }
 }

+ 4 - 10
fcl/os2/classes.pp

@@ -48,16 +48,10 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2002-02-10 13:38:14  hajny
-    * DosCalls dependency removed to avoid type redefinitions
-
-  Revision 1.4  2000/12/19 00:43:07  hajny
-    + FCL made compilable under OS/2
+  Revision 1.6  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.3  2000/08/25 17:32:16  hajny
-    * Cosmetic change (OS/2 instead of win32 in header)
+  Revision 1.5  2002/02/10 13:38:14  hajny
+    * DosCalls dependency removed to avoid type redefinitions
 
 
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
- 
 }
 }

+ 2 - 9
fcl/os2/ezcgi.inc

@@ -28,14 +28,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.6  2001-02-26 04:57:38  hajny
-    * correction of a previously introduced bug
+  Revision 1.7  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.1.2.2  2001/01/28 18:41:07  hajny
-    * error checking added
-
-  Revision 1.1.2.1  2000/10/28 16:56:43  hajny
-    + real (ansistring) implementation
-
- 
 }
 }

+ 3 - 9
fcl/os2/pipes.inc

@@ -5,7 +5,7 @@
     Copyright (c) 1999-2000 by Michael Van Canneyt
     Copyright (c) 1999-2000 by Michael Van Canneyt
 
 
     OS/2 specific part of pipe stream.
     OS/2 specific part of pipe stream.
-    
+
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
 
 
@@ -28,13 +28,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.4  2000-12-19 00:43:07  hajny
-    + FCL made compilable under OS/2
-
-  Revision 1.3  2000/08/25 17:33:44  hajny
-    * Made compilable again (missing bracket at the begin of logs)
+  Revision 1.5  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:33:01  michael
-  + removed logs
- 
 }
 }

+ 5 - 11
fcl/os2/thread.inc

@@ -57,7 +57,7 @@ const
  dtNoWait = 1;
  dtNoWait = 1;
 
 
 
 
-procedure DosGetInfoBlocks (PATIB: PPThreadInfoBlock; 
+procedure DosGetInfoBlocks (PATIB: PPThreadInfoBlock;
               PAPIB: PPProcessInfoBlock); cdecl; external 'DOSCALLS' index 312;
               PAPIB: PPProcessInfoBlock); cdecl; external 'DOSCALLS' index 312;
 
 
 function DosSetPriority (Scope, TrClass, Delta, PortID: longint): longint;
 function DosSetPriority (Scope, TrClass, Delta, PortID: longint): longint;
@@ -231,16 +231,10 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.5  2002-02-10 13:38:14  hajny
-    * DosCalls dependency removed to avoid type redefinitions
-
-  Revision 1.4  2001/10/09 02:21:00  carl
-  * bugfix #1639 (IsMultiThread varialbe setting)
+  Revision 1.6  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.3  2000/12/19 00:43:07  hajny
-    + FCL made compilable under OS/2
+  Revision 1.5  2002/02/10 13:38:14  hajny
+    * DosCalls dependency removed to avoid type redefinitions
 
 
-  Revision 1.2  2000/07/13 11:33:02  michael
-  + removed logs
- 
 }
 }

+ 2 - 3
fcl/posix/ezcgi.inc

@@ -9,8 +9,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-12-10 02:31:45  carl
-  + initial version for POSIX (with thread extensions)
-
+  Revision 1.2  2002-09-07 15:15:27  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 3
fcl/posix/pipes.inc

@@ -23,8 +23,7 @@ begin
 end;
 end;
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-12-10 02:31:45  carl
-  + initial version for POSIX (with thread extensions)
-
+  Revision 1.2  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 1 - 1
fcl/posix/readme.txt

@@ -1,4 +1,4 @@
 This directory can be used as a basic to implement
 This directory can be used as a basic to implement
 threads and pipes on systems which are compliant
 threads and pipes on systems which are compliant
 to POSIX and which implement the thread extensions
 to POSIX and which implement the thread extensions
-of POSIX.
+of POSIX.

+ 2 - 2
fcl/posix/thread.inc

@@ -93,7 +93,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-12-10 02:31:45  carl
-  + initial version for POSIX (with thread extensions)
+  Revision 1.2  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 2 - 2
fcl/qnx/classes.pp

@@ -43,7 +43,7 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.1  2001-12-10 02:34:02  carl
-  + initial version
+  Revision 1.2  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
 
 
 }
 }

+ 13 - 16
fcl/shedit/doc_text.pp

@@ -203,7 +203,7 @@ procedure TTextDoc.RemoveLine(LineNumber: Integer);
 var
 var
   i: Integer;
   i: Integer;
 begin
 begin
-  SetLength(FLines^[LineNumber].s, 0);	// Free the string for this line
+  SetLength(FLines^[LineNumber].s, 0);  // Free the string for this line
   ReAllocMem(FLines, (FLineCount - 1) * SizeOf(TLine));
   ReAllocMem(FLines, (FLineCount - 1) * SizeOf(TLine));
   if LineNumber < FLineCount - 1 then
   if LineNumber < FLineCount - 1 then
     Move(FLines^[LineNumber + 1], FLines^[LineNumber],(FLineCount - LineNumber - 1) * SizeOf(TLine));
     Move(FLines^[LineNumber + 1], FLines^[LineNumber],(FLineCount - LineNumber - 1) * SizeOf(TLine));
@@ -228,8 +228,8 @@ procedure TTextDoc.LoadFromStream(AStream: TStream);
       if s[i] = #9 then
       if s[i] = #9 then
       begin
       begin
         repeat
         repeat
-	  s2 := s2 + ' '
-	until (Length(s2) mod 8) = 0;
+          s2 := s2 + ' '
+        until (Length(s2) mod 8) = 0;
       end else
       end else
         s2 := s2 + s[i];
         s2 := s2 + s[i];
     AddLine(s2);
     AddLine(s2);
@@ -269,16 +269,16 @@ begin
       if (buffer[i] = #13) or (buffer[i] = #10) then
       if (buffer[i] = #13) or (buffer[i] = #10) then
       begin
       begin
         LineLength := i - LastEndOfLine;
         LineLength := i - LastEndOfLine;
-	SetLength(line, LineLength);
-	if LineLength > 0 then
-	  Move(buffer[LastEndOfLine], line[1], LineLength);
+        SetLength(line, LineLength);
+        if LineLength > 0 then
+          Move(buffer[LastEndOfLine], line[1], LineLength);
 
 
-	ProcessLine(line);
+        ProcessLine(line);
 
 
-	if ((buffer[i] = #13) and (buffer[i + 1] = #10)) or
-	   ((buffer[i] = #10) and (buffer[i + 1] = #13)) then
-	  Inc(i);
-	LastEndOfLine := i + 1;
+        if ((buffer[i] = #13) and (buffer[i + 1] = #10)) or
+           ((buffer[i] = #10) and (buffer[i + 1] = #13)) then
+          Inc(i);
+        LastEndOfLine := i + 1;
       end;
       end;
       Inc(i);
       Inc(i);
     end;
     end;
@@ -410,10 +410,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-11-13 15:46:55  marco
-   * Unix renamefest for defines.
+  Revision 1.4  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
 
 
-  Revision 1.2  2000/07/13 11:33:02  michael
-  + removed logs
- 
 }
 }

+ 13 - 13
fcl/shedit/drawing.inc

@@ -105,7 +105,7 @@ var
   flags: Byte;
   flags: Byte;
   InSel: Boolean;
   InSel: Boolean;
   LastCol: Char;
   LastCol: Char;
-  LineWithSpace: String;	// used for virtual whitespace expanding
+  LineWithSpace: String;        // used for virtual whitespace expanding
 
 
 begin
 begin
 
 
@@ -180,13 +180,13 @@ begin
     // Handle current selection
     // Handle current selection
     if FSel.IsValid then
     if FSel.IsValid then
       if (LineNumber > FSel.OStartY) and (LineNumber < FSel.OEndY) then begin
       if (LineNumber > FSel.OStartY) and (LineNumber < FSel.OEndY) then begin
-	ASSERT(smem > StrLen(OrigStr) + 2);
+        ASSERT(smem > StrLen(OrigStr) + 2);
         s[0] := LF_Escape;
         s[0] := LF_Escape;
         s[1] := Chr(shSelected);
         s[1] := Chr(shSelected);
         StrCopy(@s[2], OrigStr);
         StrCopy(@s[2], OrigStr);
       end else if OrigStr[0] = #0 then begin
       end else if OrigStr[0] = #0 then begin
         if LineNumber = FSel.OStartY then begin
         if LineNumber = FSel.OStartY then begin
-	  ASSERT(smem >= 3);
+          ASSERT(smem >= 3);
           s[0] := LF_Escape;
           s[0] := LF_Escape;
           s[1] := Chr(shSelected);
           s[1] := Chr(shSelected);
           s[2] := #0;
           s[2] := #0;
@@ -198,7 +198,7 @@ begin
         i := 0;
         i := 0;
         cx := 0;
         cx := 0;
         if LineNumber > FSel.OStartY then begin
         if LineNumber > FSel.OStartY then begin
-	  ASSERT(smem >= 2);
+          ASSERT(smem >= 2);
           s[0] := LF_Escape;
           s[0] := LF_Escape;
           s[1] := Chr(shSelected);
           s[1] := Chr(shSelected);
           InSel := True;
           InSel := True;
@@ -207,11 +207,11 @@ begin
           InSel := False;
           InSel := False;
         LastCol := Chr(shDefault);
         LastCol := Chr(shDefault);
         while True do begin
         while True do begin
-	  ASSERT(i <= StrLen(s2));
+          ASSERT(i <= StrLen(s2));
           if s2[i] = LF_Escape then begin
           if s2[i] = LF_Escape then begin
             LastCol := s2[i + 1];
             LastCol := s2[i + 1];
             if not InSel then begin
             if not InSel then begin
-	      ASSERT(smem > spos + 1);
+              ASSERT(smem > spos + 1);
               s[spos] := LF_Escape;
               s[spos] := LF_Escape;
               s[spos + 1] := LastCol;
               s[spos + 1] := LastCol;
               Inc(spos, 2);
               Inc(spos, 2);
@@ -220,7 +220,7 @@ begin
           end else begin
           end else begin
             if InSel then begin
             if InSel then begin
               if (LineNumber = FSel.OEndY) and (cx = FSel.OEndX) then begin
               if (LineNumber = FSel.OEndY) and (cx = FSel.OEndX) then begin
-	        ASSERT(smem > spos + 1);
+                ASSERT(smem > spos + 1);
                 s[spos] := LF_Escape;
                 s[spos] := LF_Escape;
                 s[spos + 1] := LastCol;
                 s[spos + 1] := LastCol;
                 Inc(spos, 2);
                 Inc(spos, 2);
@@ -228,21 +228,21 @@ begin
               end;
               end;
             end else
             end else
               if (LineNumber = FSel.OStartY) and (cx = FSel.OStartX) then begin
               if (LineNumber = FSel.OStartY) and (cx = FSel.OStartX) then begin
-	        ASSERT(smem > spos + 1);
+                ASSERT(smem > spos + 1);
                 s[spos] := LF_Escape;
                 s[spos] := LF_Escape;
                 s[spos + 1] := Chr(shSelected);
                 s[spos + 1] := Chr(shSelected);
                 Inc(spos, 2);
                 Inc(spos, 2);
                 InSel := True;
                 InSel := True;
               end;
               end;
             if s2[i] = #0 then break;    // only exit of 'while' loop!
             if s2[i] = #0 then break;    // only exit of 'while' loop!
-	    ASSERT(smem > spos);
+            ASSERT(smem > spos);
             s[spos] := s2[i];
             s[spos] := s2[i];
             Inc(spos);
             Inc(spos);
             Inc(i);
             Inc(i);
             Inc(cx);
             Inc(cx);
           end;
           end;
         end;
         end;
-	ASSERT(smem > spos);
+        ASSERT(smem > spos);
         s[spos] := #0;
         s[spos] := #0;
         StrDispose(s2);
         StrDispose(s2);
       end;
       end;
@@ -259,7 +259,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:02  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 3
fcl/shedit/gtk/gtkdemo.pp

@@ -112,7 +112,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:02  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 9
fcl/shedit/gtk/gtkshedit.pp

@@ -588,13 +588,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2001-02-04 14:32:56  sg
-  Improvements as suggested by Vasily Volchenko:
-  * Added mapping for Enter key (= it works now :) )
-  * Simple clipboard implementation. (although the keys for clipboard
-    functions don't work yet)
-
-  Revision 1.2  2000/07/13 11:33:02  michael
-  + removed logs
- 
+  Revision 1.4  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 5 - 5
fcl/shedit/keys.inc

@@ -463,7 +463,7 @@ begin
 
 
   if ShortcutFound then begin
   if ShortcutFound then begin
     // WriteLn(shortcut.Action.Descr);
     // WriteLn(shortcut.Action.Descr);
-    shortcut.Action.Method;	// Execute associated action
+    shortcut.Action.Method;     // Execute associated action
     // Handle the selection extending
     // Handle the selection extending
     case shortcut.Action.SelectionAction of
     case shortcut.Action.SelectionAction of
       selNothing: ;
       selNothing: ;
@@ -482,7 +482,7 @@ begin
     if (KeyCode <= 255) and (ShiftState * [ssCtrl, ssAlt] = []) then
     if (KeyCode <= 255) and (ShiftState * [ssCtrl, ssAlt] = []) then
       ExecKey(Chr(KeyCode), False)
       ExecKey(Chr(KeyCode), False)
     else
     else
-      Result := False;		// Key has not been processed
+      Result := False;          // Key has not been processed
 
 
   EndSelectionChange;
   EndSelectionChange;
   AdjustRangeToCursor;
   AdjustRangeToCursor;
@@ -491,7 +491,7 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:02  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 9 - 9
fcl/shedit/sh_pas.pp

@@ -46,7 +46,7 @@ uses Strings;
 
 
 const
 const
 
 
-  LF_SH_Comment1 = LF_SH_Multiline1;	{ Normal braced Comments}
+  LF_SH_Comment1 = LF_SH_Multiline1;    { Normal braced Comments}
   LF_SH_Comment2 = LF_SH_Multiline2;    { (* *) Comments}
   LF_SH_Comment2 = LF_SH_Multiline2;    { (* *) Comments}
   LF_SH_Asm      = LF_SH_Multiline3;
   LF_SH_Asm      = LF_SH_Multiline3;
 
 
@@ -99,8 +99,8 @@ end;
 
 
 procedure TSHPasEdit.DoHighlighting(var flags: Byte; source, dest: PChar);
 procedure TSHPasEdit.DoHighlighting(var flags: Byte; source, dest: PChar);
 var
 var
-  dp: Integer;		// Destination position - current offset in dest
-  LastSHPos: Integer;	// Position of last highlighting character, or 0
+  dp: Integer;          // Destination position - current offset in dest
+  LastSHPos: Integer;   // Position of last highlighting character, or 0
 
 
   procedure AddSH(sh: Byte);
   procedure AddSH(sh: Byte);
   begin
   begin
@@ -297,8 +297,8 @@ begin
           end;
           end;
           if StringLength = 1 then
           if StringLength = 1 then
             dest[LastSHPos] := Chr(shCharacters);
             dest[LastSHPos] := Chr(shCharacters);
-	  if (source[0] = #0) and (dest[dp - 1] <> '''') then
-	    dest[LastSHPos] := Chr(shInvalid);
+          if (source[0] = #0) and (dest[dp - 1] <> '''') then
+            dest[LastSHPos] := Chr(shInvalid);
           AddSH(shDefault);
           AddSH(shDefault);
         end;
         end;
       '_', 'A'..'Z', 'a'..'z': begin
       '_', 'A'..'Z', 'a'..'z': begin
@@ -311,7 +311,7 @@ begin
       else begin
       else begin
         AddSH(shInvalid);
         AddSH(shInvalid);
         PutChar;  // = found an invalid char!
         PutChar;  // = found an invalid char!
-	AddSH(shDefault);
+        AddSH(shDefault);
       end;
       end;
     end;
     end;
   end;
   end;
@@ -325,7 +325,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:02  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 3
fcl/shedit/sh_xml.pp

@@ -243,7 +243,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:02  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
+
 }
 }

+ 3 - 3
fcl/shedit/shedit.pp

@@ -556,7 +556,7 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:33:02  michael
-  + removed logs
- 
+  Revision 1.3  2002-09-07 15:15:28  peter
+    * old logs removed and tabs fixed
+
 }
 }

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно