瀏覽代碼

* old logs removed and tabs fixed

peter 23 年之前
父節點
當前提交
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. 二進制
      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.
 {
   $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;
 {
   $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;
 {
   $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$
-  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 !
 
-Michael.              
+Michael.              

+ 11 - 11
fcl/db/database.inc

@@ -1,11 +1,11 @@
 {
     $Id$
     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
 
     TDatabase and related objects implementation
-    
+
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
 
@@ -32,7 +32,7 @@ begin
   If Connected Then
     DatabaseError(SConnected,Self);
 end;
-  
+
 procedure TDataBase.Loaded;
 
 begin
@@ -44,7 +44,7 @@ procedure TDataBase.SetConnected (Value : boolean);
 begin
   If Value<>FConnected then
     begin
-    If Value then 
+    If Value then
       DoInternalConnect
     else
       begin
@@ -88,7 +88,7 @@ procedure TDatabase.CloseDataSets;
 Var I : longint;
 
 begin
-  If Assigned(FDatasets) then 
+  If Assigned(FDatasets) then
     begin
     For I:=FDatasets.Count-1 downto 0 do
       TDBDataset(FDatasets[i]).Close;
@@ -100,7 +100,7 @@ procedure TDatabase.RemoveDataSets;
 Var I : longint;
 
 begin
-  If Assigned(FDatasets) then 
+  If Assigned(FDatasets) then
     For I:=FDataSets.Count-1 downto 0 do
       TDBDataset(FDataSets[i]).Database:=Nil;
 end;
@@ -169,13 +169,13 @@ begin
       FDatabase.UnregisterDataset(Self);
     If Value<>Nil Then
       Value.RegisterDataset(Self);
-    FDatabase:=Value; 
+    FDatabase:=Value;
     end;
-end;  
+end;
 
 {
   $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$
-  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;
 
 
-Destructor TDataLink.Destroy; 
+Destructor TDataLink.Destroy;
 
 begin
   Factive:=False;
@@ -21,8 +21,8 @@ begin
   Inherited Destroy;
 end;
 
-  
-Procedure TDataLink.ActiveChanged; 
+
+Procedure TDataLink.ActiveChanged;
 
 begin
 end;
@@ -48,21 +48,21 @@ begin
 end;
 
 
-Procedure TDataLink.CheckBrowseMode; 
+Procedure TDataLink.CheckBrowseMode;
 
 begin
 end;
 
 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.}
 
-Var 
+Var
    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;
- 
+
 begin
   A:=DataSource.DataSet.FActiveRecord;
   F:=FFirstRecord+Index;
@@ -75,67 +75,67 @@ begin
 end;
 
 
-Procedure TDataLink.DataEvent(Event: TDataEvent; Info: Longint); 
+Procedure TDataLink.DataEvent(Event: TDataEvent; Info: Longint);
 
 
 begin
   Case Event of
-    deFieldChange, 
-    deRecordChange : 
+    deFieldChange,
+    deRecordChange :
       If Not FUpdatingRecord then
         RecordChanged(TField(Info));
-    deDataSetChange: 
+    deDataSetChange:
       begin
       SetActive(DataSource.DataSet.Active);
       CalcFirstRecord(Info);
       DatasetChanged;
       end;
-    deDataSetScroll: 
+    deDataSetScroll:
       DatasetScrolled(CalcFirstRecord(Info));
-    deLayoutChange: 
+    deLayoutChange:
       begin
       CalcFirstRecord(Info);
       LayoutChanged;
       end;
-    deUpdateRecord: 
+    deUpdateRecord:
       UpdateRecord;
-    deUpdateState: 
+    deUpdateState:
       CheckActiveAndEditing;
     deCheckBrowseMode:
       CheckBrowseMode;
-    deFocusControl: 
+    deFocusControl:
       FocusControl(TFieldRef(Info));
-  end;     
+  end;
 end;
 
 
-Procedure TDataLink.DataSetChanged; 
+Procedure TDataLink.DataSetChanged;
 
 begin
   RecordChanged(Nil);
 end;
 
 
-Procedure TDataLink.DataSetScrolled(Distance: Integer); 
+Procedure TDataLink.DataSetScrolled(Distance: Integer);
 
 begin
   DataSetChanged;
 end;
 
 
-Procedure TDataLink.EditingChanged; 
+Procedure TDataLink.EditingChanged;
 
 begin
 end;
 
 
-Procedure TDataLink.FocusControl(Field: TFieldRef); 
+Procedure TDataLink.FocusControl(Field: TFieldRef);
 
 begin
 end;
 
 
-Function TDataLink.GetActiveRecord: Integer; 
+Function TDataLink.GetActiveRecord: Integer;
 
 begin
   Result:=Dataset.FActiveRecord;
@@ -148,28 +148,28 @@ begin
 end;
 
 
-Function TDataLink.GetBOF: Boolean; 
+Function TDataLink.GetBOF: Boolean;
 
 begin
   Result:=DataSet.BOF
 end;
 
 
-Function TDataLink.GetBufferCount: Integer; 
+Function TDataLink.GetBufferCount: Integer;
 
 begin
   Result:=FBufferCount;
 end;
 
 
-Function TDataLink.GetEOF: Boolean; 
+Function TDataLink.GetEOF: Boolean;
 
 begin
   Result:=DataSet.EOF
 end;
 
 
-Function TDataLink.GetRecordCount: Integer; 
+Function TDataLink.GetRecordCount: Integer;
 
 Var D : TDataSet;
 
@@ -180,34 +180,34 @@ begin
 end;
 
 
-Procedure TDataLink.LayoutChanged; 
+Procedure TDataLink.LayoutChanged;
 
 begin
   DataSetChanged;
 end;
 
 
-Function TDataLink.MoveBy(Distance: Integer): Integer; 
+Function TDataLink.MoveBy(Distance: Integer): Integer;
 
 begin
   DataSet.MoveBy(Distance);
 end;
 
 
-Procedure TDataLink.RecordChanged(Field: TField); 
+Procedure TDataLink.RecordChanged(Field: TField);
 
 begin
 end;
 
 
-Procedure TDataLink.SetActiveRecord(Value: Integer); 
+Procedure TDataLink.SetActiveRecord(Value: Integer);
 
 begin
   Dataset.FActiveRecord:=Value;
 end;
 
 
-Procedure TDataLink.SetBufferCount(Value: Integer); 
+Procedure TDataLink.SetBufferCount(Value: Integer);
 
 begin
   If FBUfferCount<>Value then
@@ -240,7 +240,7 @@ begin
   end;
 end;
 
-Procedure TDatalink.SetReadOnly(Value : Boolean); 
+Procedure TDatalink.SetReadOnly(Value : Boolean);
 
 begin
   If FReadOnly<>Value then
@@ -250,7 +250,7 @@ begin
     end;
 end;
 
-Procedure TDataLink.UpdateData; 
+Procedure TDataLink.UpdateData;
 
 begin
 end;
@@ -263,7 +263,7 @@ begin
   If Not FReadOnly then
     DataSource.Edit;
   // Triggered event will set FEditing
-  Result:=FEditing;  
+  Result:=FEditing;
 end;
 
 
@@ -283,8 +283,8 @@ end;
 { ---------------------------------------------------------------------
     TDetailDataLink
   ---------------------------------------------------------------------}
-  
-Function TDetailDataLink.GetDetailDataSet: TDataSet; 
+
+Function TDetailDataLink.GetDetailDataSet: TDataSet;
 
 begin
 end;
@@ -300,38 +300,38 @@ begin
 end;
 
 
-destructor TMasterDataLink.Destroy; 
+destructor TMasterDataLink.Destroy;
 
 begin
   inherited Destroy;
 end;
-  
 
-Procedure TMasterDataLink.ActiveChanged; 
+
+Procedure TMasterDataLink.ActiveChanged;
 
 begin
 end;
 
 
-Procedure TMasterDataLink.CheckBrowseMode; 
+Procedure TMasterDataLink.CheckBrowseMode;
 
 begin
 end;
 
 
-Function TMasterDataLink.GetDetailDataSet: TDataSet; 
+Function TMasterDataLink.GetDetailDataSet: TDataSet;
 
 begin
 end;
 
 
-Procedure TMasterDataLink.LayoutChanged; 
+Procedure TMasterDataLink.LayoutChanged;
 
 begin
 end;
 
 
-Procedure TMasterDataLink.RecordChanged(Field: TField); 
+Procedure TMasterDataLink.RecordChanged(Field: TField);
 
 begin
 end;
@@ -345,8 +345,8 @@ end;
 { ---------------------------------------------------------------------
     TDatasource
   ---------------------------------------------------------------------}
-    
-Constructor TDataSource.Create(AOwner: TComponent); 
+
+Constructor TDataSource.Create(AOwner: TComponent);
 
 begin
   Inherited Create(AOwner);
@@ -356,12 +356,12 @@ begin
 end;
 
 
-Destructor TDataSource.Destroy; 
+Destructor TDataSource.Destroy;
 
 begin
   FOnStateCHange:=Nil;
   Dataset:=Nil;
-  With FDataLinks do 
+  With FDataLinks do
     While Count>0 do
       TDatalink(Items[Count - 1]).DataSource:=Nil;
   FDatalinks.Free;
@@ -387,7 +387,7 @@ end;
 procedure TDatasource.DistributeEvent(Event: TDataEvent; Info: Longint);
 
 
-Var 
+Var
   i : Longint;
 
 begin
@@ -396,11 +396,11 @@ begin
     For I:=0 to Count-1 do
       With TDatalink(Items[i]) do
         If Not VisualControl Then
-          DataEvent(Event,Info); 
+          DataEvent(Event,Info);
     For I:=0 to Count-1 do
       With TDatalink(Items[i]) do
         If VisualControl Then
-          DataEvent(Event,Info); 
+          DataEvent(Event,Info);
     end;
 end;
 
@@ -420,7 +420,7 @@ begin
     FDataset.UnRegisterDataSource(Self);
   If ADataset<>Nil Then
     ADataset.RegisterDatasource(Self);
-  FDataSet:=ADataset;  
+  FDataSet:=ADataset;
   ProcessEvent(deUpdateState,0);
 end;
 
@@ -442,7 +442,7 @@ end;
 Procedure TDatasource.DoStateChange;
 
 begin
-  If Assigned(OnStateChange) Then 
+  If Assigned(OnStateChange) Then
     OnStateChange(Self);
 end;
 
@@ -450,7 +450,7 @@ end;
 Procedure TDatasource.DoUpdateData;
 
 begin
-  If Assigned(OnUpdateData) Then 
+  If Assigned(OnUpdateData) Then
     OnUpdateData(Self);
 end;
 
@@ -459,22 +459,22 @@ procedure TDatasource.UnregisterDataLink(DataLink: TDataLink);
 
 begin
   FDatalinks.Remove(Datalink);
-  If Dataset<>Nil then 
+  If Dataset<>Nil then
     Dataset.SetBufListSize(DataLink.BufferCount);
 end;
 
 
 procedure TDataSource.ProcessEvent(Event : TDataEvent; Info : longint);
 
-Const 
-  OnDataChangeEvents = [deRecordChange, deDataSetChange, 
-                           deDataSetScroll, 
+Const
+  OnDataChangeEvents = [deRecordChange, deDataSetChange,
+                           deDataSetScroll,
                            deLayoutChange,deUpdateState];
 
 Var
   NeedDataChange : Boolean;
   FLastState : TdataSetState;
-  
+
 begin
   // Special UpdateState handling.
   If Event=deUpdateState then
@@ -484,20 +484,20 @@ begin
     If Assigned(Dataset) then
       FState:=Dataset.State
     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
   else
-    NeedDataChange:=True;  
+    NeedDataChange:=True;
   DistributeEvent(Event,Info);
   // Extra handlers
   If Not (csDestroying in ComponentState) then
     begin
     If (Event=deUpdateState) then
       DoStateChange;
-    If (Event in OnDataChangeEvents) and 
+    If (Event in OnDataChangeEvents) and
        NeedDataChange Then
       DoDataChange(Nil);
     If (Event = deFieldChange) Then
@@ -505,4 +505,4 @@ begin
     If (Event=deUpdateRecord) then
       DoUpdateData;
     end;
- end;
+ end;

+ 47 - 56
fcl/db/db.pp

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

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

@@ -10,7 +10,7 @@ Var
   I,Count : longint;
   F : Text;
   Buf : Array[1..1024*4] of byte;
-  
+
 begin
   Assign(F,FN);
   Rewrite(F);
@@ -23,7 +23,7 @@ begin
       begin
       Inc(Count);
       For I:=0 to FieldCount-1 do
-        With Fields[i] do 
+        With Fields[i] do
           Writeln(F,FieldName:20,' : ',AsString);
       Writeln(F,StringOfChar('=',72));
       Next;
@@ -42,4 +42,4 @@ begin
     Halt(1);
     end;
   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.';
 {
   $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
 
   PInteger =  ^Integer;
-  
+
   // Bookmark information record to support TDataset bookmarks:
   PDDGBookmarkInfo = ^TDDGBookmarkInfo;
   TDDGBookmarkInfo = record
@@ -328,7 +328,7 @@ begin
   TFieldDef.Create(FieldDefs, 'DateTimeField', ftDateTime, 0, false, 6);
   TFieldDef.Create(FieldDefs, 'TimeField',ftTime, 0, false, 7);
   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;
 
 procedure TDDGDataSet.InternalLast;
@@ -401,14 +401,14 @@ begin
       FileClose(HFile);
     end
    else
- }  
+ }
       DatabaseError('Could not open table');
   end;
   // open data file
   FileMode := fmOpenReadWrite;
   Writeln ('OPening data file');
   AssignFile(FDataFile, FTableName);
-  Reset(FDataFile);  
+  Reset(FDataFile);
   try
     writeln ('Loading index file');
     FIndexList.LoadFromFile(FIdxName); // initialize index TList from file
@@ -528,7 +528,7 @@ end;
 
 end.
   $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.
   $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$
-  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
-  * 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
 
 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
 
     Interbase testing program
-    
+
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
 
@@ -30,27 +30,27 @@ begin
   Database := TIBDatabase.Create(nil);
   Trans    := TIBTransaction.Create(nil);
   Query    := TIBQuery.Create(nil);
-  
+
   Database.DatabaseName := 'test.gdb';
   Database.UserName     := 'sysdba';
   Database.Password     := 'masterkey';
   Database.Transaction  := Trans;
   Trans.Action          := caRollback;
   Trans.Active          := True;
-  
-  
+
+
   Write('Opening database... Database.Connected = ');
   Database.Open;
   WriteLn(Database.Connected);
-  
+
   // Assigning database to dataset
   Query.Database := Database;
-  
+
   Query.SQL.Add('select * from fpdev');
   Query.Open;
-  
+
   WriteLn;
-  
+
   while not Query.EOF do
   begin
     for x := 0 to Query.FieldCount - 2 do
@@ -58,10 +58,10 @@ begin
     WriteLn(Query.Fields[Query.FieldCount - 1].AsString);
     Query.Next;
   end;
-  
+
   WriteLn;
-  
-  
+
+
   try
     WriteLn('Trying to insert new record to table fpdev');
     Query.Close;
@@ -78,11 +78,11 @@ begin
       Trans.RollbackRetaining;
     end;
   end;
-  
+
   WriteLn;
-  
+
   Trans.Commit;
-  
+
   Write('Closing database... Database.Connected = ');
   Database.Close;
   WriteLn(Database.Connected);
@@ -90,10 +90,7 @@ end.
 
 {
   $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$
-   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;
 
   Pinteger = ^Integer;
-  
+
   TMySQLDataset = class(TDataSet)
   private
     FSQL: TStrings;
@@ -204,7 +204,7 @@ begin
      Result := False;
 
      CurBuf := ActiveBuffer;
-     
+
      FC := mysql_num_fields(FMYSQLRES);
      for I := 0 to FC-1 do
      begin
@@ -219,7 +219,7 @@ begin
                   Result := PChar(buffer)^ <> #0
                else
                    Result := True;
-               break; 
+               break;
           end
           else
               Inc(CurBuf, MySQLDataSize(fld.ftype, fld.length));
@@ -269,7 +269,7 @@ begin
                begin
                     BookmarkData := FCurrentRecord;
                     BookmarkFlag := bfCurrent;
-               end;               
+               end;
           end
           else
               if (Result = grError) and (DoCheck) then
@@ -297,7 +297,7 @@ begin
      FCurrentRecord := -1;
 
      DoClose;
-    
+
      if DefaultFields then
         DestroyFields;
 end;
@@ -545,7 +545,7 @@ begin
           field := mysql_fetch_field_direct(FMYSQLRES, I);
           CT := MySQLWriteFieldData(field.ftype, field.length, row^, Buffer);
           Inc(Buffer, CT);
-          Inc(row); 
+          Inc(row);
      end;
 end;
 
@@ -580,7 +580,7 @@ function TMySQLDataset.MySQLWriteFieldData(AType: enum_field_types;
 var
   VI: Integer;
   VF: Double;
-  VD: TDateTime;  
+  VD: TDateTime;
 begin
      Result := 0;
      case AType of
@@ -592,7 +592,7 @@ begin
                  VI := StrToInt(Source)
               else
                   VI := 0;
-              Move(VI, Dest^, Result);              
+              Move(VI, Dest^, Result);
          end;
        FIELD_TYPE_DECIMAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE:
          begin
@@ -790,10 +790,7 @@ end;
 
 end.
   $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
   S : String;
   i : integer;
-  
+
 begin
   Writeln('Input parameters were :');
   With ListIN do
@@ -60,4 +60,4 @@ begin
     Finally
       Free;
     end;
-end.
+end.

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

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

二進制
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],' :');
          For I:=0 to ProcedureParams.Count-1 do
           Writeln(ProcedureParams[i]);
-        end;  
+        end;
     finally
       ProcedureParams.Free;
     end;

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

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

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

@@ -66,26 +66,7 @@ begin
 end.
 {
   $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.
 {
   $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.
 {
   $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.
 {
   $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$
-  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$
-  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.
 {
   $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;
 {
   $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;
 {
   $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$
-  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$
-  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$
-  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
       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;
   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;
 
   PCacheSlotArray = ^TCacheSlotArray;
@@ -69,18 +69,18 @@ type
     procedure SetMRUSlot(ASlot: PCacheSlot);
     procedure SetSlotCount(ACount: Integer);
   protected
-    FSlotCount: Integer;	// Number of cache elements
+    FSlotCount: Integer;        // Number of cache elements
     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
     constructor Create(ASlotCount: Integer);
     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);
 
     // Accesses to the "Data" array will be reflected by the MRU list!
@@ -162,7 +162,7 @@ begin
 
       if Assigned(OnFreeSlot) then
         for i := ACount to SlotCount - 1 do
-	  OnFreeSlot(Self, i);
+          OnFreeSlot(Self, i);
 
       while (MRUSlot^.Index >= ACount) and Assigned(MRUSlot^.Next) do
         FMRUSlot := MRUSlot^.Next;
@@ -176,11 +176,11 @@ begin
       while Assigned(Slot) do
       begin
         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;
       end;
 
@@ -192,10 +192,10 @@ begin
       for i := SlotCount to ACount - 1 do
         with FSlots^[i] do
         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;
       LRUSlot^.Next := @FSlots^[ACount - 1];
       FSlots^[ACount - 1].Prev := LRUSlot;
@@ -328,7 +328,7 @@ end.
 
 {
   $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$
-  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
 
   Revision 1.8  2002/01/06 21:54:49  peter
     * 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$
-  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
 
   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
     * 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$
-  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
     begin
     FFreeNotifies.Remove(AComponent);
-	    If FFreeNotifies.Count=0 then
+            If FFreeNotifies.Count=0 then
       begin
       FFreeNotifies.Free;
       FFreenotifies:=Nil;
@@ -533,19 +533,13 @@ end;
 
 {
   $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
 
   Revision 1.5  2002/01/06 21:54:50  peter
     * 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$
-  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$
-  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$
-  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.
 
  **********************************************************************}
-{$ifdef fpc} 
+{$ifdef fpc}
 {$mode objfpc}
 {$endif}
 unit contnrs;
@@ -497,7 +497,10 @@ end.
 
 {
   $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
 
   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
     + skeleton for contnr.pp added
 
-}
+}

+ 2 - 5
fcl/inc/cregist.inc

@@ -187,10 +187,7 @@ end;
 
 {
   $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$
-  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$
-  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$
-  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$
-  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$
-  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;
   public
     destructor Destroy; override;
-    procedure Clear;
override;
+    procedure Clear;
+override;
     property Items[Index: integer]: TIniFileKey read GetItem; default;
   end;
 
@@ -786,23 +787,13 @@ end.
 
 {
   $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)
 
   Revision 1.4  2002/06/13 17:28:41  michael
   + 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$
-  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
 
-}
+}

+ 5 - 5
fcl/inc/iostream.pp

@@ -47,14 +47,14 @@ Constructor TIOStream.Create(IOSType : TiosType);
 
 begin
 {$ifdef win32}
-  Case IOSType of 
+  Case IOSType of
     iosOutput : FType:=Stdoutputhandle;
     iosInput : FType:=Stdinputhandle;
     iosError : FType:=StdErrorHandle;
   end;
 {$else}
   FType:=Ord(IOSType);
-{$endif}  
+{$endif}
   Inherited Create(Ftype);
 end;
 
@@ -120,7 +120,7 @@ end.
 
 {
   $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$
-  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
 
   Revision 1.7  2002/07/16 14:00:55  florian
     * raise takes now a void pointer as at and frame address
       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);
         Result := toInteger;
         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
           Inc(P);
           Result := toFloat;
@@ -308,14 +308,7 @@ begin
 end;
 {
   $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$
-  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.
 {
   $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,
 {$else}
      unix,
-{$endif}     
-{$else}          
+{$endif}
+{$else}
      Windows,
-{$endif}     
+{$endif}
      SysUtils;
 
 Type
@@ -93,13 +93,13 @@ Type
     hStdOutput: THandle;
     hStdError: THandle;
   end;
-   
+
   PSecurityAttributes = ^TSecurityAttributes;
   TSecurityAttributes = Record
-    nlength : Integer; 
+    nlength : Integer;
     lpSecurityDescriptor : Pointer;
     BinheritHandle : Boolean;
-  end;  
+  end;
 
 Const piInheritablePipe : TSecurityAttributes = (
                            nlength:SizeOF(TSecurityAttributes);
@@ -115,9 +115,9 @@ Type
 
   TProcess = Class (TComponent)
   Private
-{$ifndef unix}  
+{$ifndef unix}
     FAccess : Cardinal;
-{$endif}    
+{$endif}
     FApplicationName : string;
     FChildErrorStream : TOutPutPipeStream;
     FChildInputSTream : TInputPipeStream;
@@ -169,7 +169,7 @@ Type
     procedure SetEnvironment(const Value: TStrings);
 {$ifdef unix}
     function PeekLinuxExitStatus: Boolean;
-{$endif}    
+{$endif}
   Public
     Constructor Create (AOwner : TComponent);override;
     Destructor Destroy; override;
@@ -259,14 +259,14 @@ var FreedStreams: TList;
   procedure FreeStream(var AnObject: TObject);
 
   begin
-    if FreedStreams.IndexOf(AnObject)<0 then 
+    if FreedStreams.IndexOf(AnObject)<0 then
       begin
       FreedStreams.Add(AnObject);
       AnObject.Free;
       end;
     AnObject:=nil;
   end;
-                              
+
 begin
   FreedStreams:=TList.Create;
   try
@@ -517,7 +517,7 @@ Procedure CommandToList(S : String; List : TStrings);
      While (WEnd<=Length(S)) and (S[Wend] in WhiteSpace) do
        inc(Wend);
      Delete(S,1,WEnd-1);
-     
+
   end;
 
 Var
@@ -806,7 +806,7 @@ begin
     FStartupInfo.dwFlags:=FStartupInfo.dwFlags and not Startf_UseShowWindow;
 {$ifndef unix}
   FStartupInfo.wShowWindow:=SWC[Value];
-{$endif}  
+{$endif}
 end;
 
 Procedure TProcess.SetWindowColumns (Value : Cardinal);
@@ -917,31 +917,7 @@ end;
 end.
 {
   $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;
       case ValueType of
         vaInt8:
-	  AChildPos := ReadInt8;
-	vaInt16:
-	  AChildPos := ReadInt16;
+          AChildPos := ReadInt8;
+        vaInt16:
+          AChildPos := ReadInt16;
         vaInt32:
-	  AChildPos := ReadInt32;
-	else
-	  raise EReadError.Create(SInvalidPropertyValue);
+          AChildPos := ReadInt32;
+        else
+          raise EReadError.Create(SInvalidPropertyValue);
       end;
     end;
   end;
@@ -131,7 +131,7 @@ begin
     vaIdent:
       begin
         Read(i, 1);
-	SetLength(Result, i);
+        SetLength(Result, i);
         Read(Pointer(@Result[1])^, i);
       end;
     vaNil:
@@ -273,7 +273,7 @@ begin
       begin
         while NextValue <> vaNull do
           SkipValue;
-	ReadValue;
+        ReadValue;
       end;
     vaInt8:
       SkipBytes(1);
@@ -296,15 +296,15 @@ begin
       begin
         while NextValue <> vaNull do
         begin
-	  { Skip the order value if present }
+          { Skip the order value if present }
           if NextValue in [vaInt8, vaInt16, vaInt32] then
-	    SkipValue;
+            SkipValue;
           SkipBytes(1);
           while NextValue <> vaNull do
-	    SkipProperty;
-	  ReadValue;
+            SkipProperty;
+          ReadValue;
         end;
-	ReadValue;
+        ReadValue;
       end;
     vaSingle:
       SkipBytes(Sizeof(Single));
@@ -528,7 +528,7 @@ begin
       for i := Count - 1 downto 0 do
         with TPropFixup(Items[i]) do
           if (FInstance = Fixup.FInstance) and
-	    (FPropInfo = Fixup.FPropInfo) then
+            (FPropInfo = Fixup.FPropInfo) then
           begin
             Free;
             Delete(i);
@@ -636,7 +636,7 @@ begin
     while not EndOfList do
     begin
       if FDriver.NextValue in [vaInt8, vaInt16, vaInt32] then
-        ReadInteger;		{ Skip order value }
+        ReadInteger;            { Skip order value }
       Item := Collection.Add;
       ReadListBegin;
       while not EndOfList do
@@ -681,28 +681,28 @@ begin
     if not Assigned(Result) then
       try
         if ffInherited in Flags then
-	begin
+        begin
           { 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;
           if not Assigned(Parent) then
-	    Parent := Root;
-	end else
-	begin
+            Parent := Root;
+        end else
+        begin
           Result := nil;
           ComponentClass := FindComponentClass(CompClassName);
           if Assigned(FOnCreateComponent) then
@@ -711,20 +711,20 @@ begin
           begin
             NewComponent := TComponent(ComponentClass.NewInstance);
             if ffInline in Flags then
-	      NewComponent.FComponentState :=
-	        NewComponent.FComponentState + [csLoading, csInline];
+              NewComponent.FComponentState :=
+                NewComponent.FComponentState + [csLoading, csInline];
             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;
           end;
           Include(Result.FComponentState, csLoading);
-	end;
+        end;
       except
         if not Recover(Result) then
-	  raise;
+          raise;
       end;
 
     if Assigned(Result) then
@@ -733,36 +733,36 @@ begin
         if not (ffInherited in Flags) then
           try
             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
               (FindGlobalComponent(Name) = Result) then
               Include(Result.FComponentState, csInline);
           except
             if not Recover(Result) then
-	      raise;
+              raise;
           end;
         if not Assigned(Result) then
-	  exit;
+          exit;
         if csInline in Result.ComponentState then
           FLookupRoot := Result;
 
-	{ Read the component state }
+        { Read the component state }
         Include(Result.FComponentState, csReading);
         Result.ReadState(Self);
         Exclude(Result.FComponentState, csReading);
 
         if ffChildPos in Flags then
-	  Parent.SetChildOrder(Result, ChildPos);
+          Parent.SetChildOrder(Result, ChildPos);
 
         { 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
         if ((ffInherited in Flags) or Assigned(Component)) then
-	  Result.Free;
+          Result.Free;
         raise;
       end;
   finally
@@ -920,30 +920,30 @@ begin
       while True do
       begin
         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
-	begin
-	  FPropName := DotPos;
-	  break;
-	end;
-	DotPos := NextPos + 1;
+        begin
+          FPropName := DotPos;
+          break;
+        end;
+        DotPos := NextPos + 1;
 
         PropInfo := GetPropInfo(Instance.ClassInfo, FPropName);
         if not Assigned(PropInfo) then
-	  PropertyError;
+          PropertyError;
 
         if PropInfo^.PropType^.Kind = tkClass then
           Obj := TObject(GetOrdProp(Instance, PropInfo))
-	else
-	  Obj := nil;
+        else
+          Obj := nil;
 
         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);
-	end;
+        end;
         Instance := TPersistent(Obj);
       end;
 
@@ -956,18 +956,18 @@ begin
         Instance.DefineProperties(Self);
         FCanHandleExcepts := True;
         if Length(FPropName) > 0 then
-	  PropertyError;
+          PropertyError;
       end;
     except
       on e: Exception do
       begin
         SetLength(Name, 0);
         if AInstance.InheritsFrom(TComponent) then
-	  Name := TComponent(AInstance).Name;
+          Name := TComponent(AInstance).Name;
         if Length(Name) = 0 then
-	  Name := AInstance.ClassName;
+          Name := AInstance.ClassName;
         raise EReadError.CreateFmt(SPropertyException,
-	  [Name, DotSep, Path, e.Message]);
+          [Name, DotSep, Path, e.Message]);
       end;
     end;
   except
@@ -1020,7 +1020,7 @@ begin
       begin
         CheckValue(vaSet);
         SetOrdProp(Instance, PropInfo,
-	  FDriver.ReadSet(GetTypeData(PropType)^.CompType));
+          FDriver.ReadSet(GetTypeData(PropType)^.CompType));
       end;
     tkMethod:
       if FDriver.NextValue = vaNil then
@@ -1032,7 +1032,7 @@ begin
         Method.Code := FindMethod(Root, ReadIdent);
         Method.Data := Root;
         if Assigned(Method.Code) then
-	  SetMethodProp(Instance, PropInfo, Method);
+          SetMethodProp(Instance, PropInfo, Method);
       end;
     tkSString, tkLString, tkAString, tkWString:
       SetStrProp(Instance, PropInfo, ReadString);
@@ -1081,22 +1081,22 @@ begin
 
         if not (csDesigning in Result.ComponentState) then
         begin
-	  Result.FComponentState :=
-	    Result.FComponentState + [csLoading, csReading];
+          Result.FComponentState :=
+            Result.FComponentState + [csLoading, csReading];
 
           if Assigned(FindGlobalComponent) then
           begin
-	    { We need an unique name }
+            { We need an unique name }
             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;
             while Assigned(FindGlobalComponent(ResultName)) do
             begin
               Inc(i);
               ResultName := CompName + '_' + IntToStr(i);
             end;
-	    Result.Name := ResultName;
+            Result.Name := ResultName;
           end else
             Result.Name := '';
         end;
@@ -1113,17 +1113,17 @@ begin
         if FLoaded.IndexOf(FRoot) < 0 then
           FLoaded.Add(FRoot);
         FOwner := FRoot;
-	FRoot.FComponentState := FRoot.FComponentState + [csLoading, csReading];
+        FRoot.FComponentState := FRoot.FComponentState + [csLoading, csReading];
         FRoot.ReadState(Self);
         Exclude(FRoot.FComponentState, csReading);
 
         if not Assigned(GlobalLoaded) then
           for i := 0 to FLoaded.Count - 1 do
-	    TComponent(FLoaded[i]).Loaded;
+            TComponent(FLoaded[i]).Loaded;
 
       finally
         if not Assigned(GlobalLoaded) then
-	  FLoaded.Free;
+          FLoaded.Free;
         FLoaded := nil;
       end;
       GlobalFixupReferences;
@@ -1267,21 +1267,7 @@ end;
 
 {
   $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$
-  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$
-  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$
-  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$
-  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;
 
     begin
-       Result:=Seek(0,soCurrent);
+       Result:=Seek(0,soFromCurrent);
     end;
 
   procedure TStream.SetPosition(Pos: Int64);
 
     begin
-       Seek(pos,soBeginning);
+       Seek(pos,soFromBeginning);
     end;
 
   procedure TStream.SetSize64(NewSize: Int64);
@@ -42,8 +42,8 @@
 
     begin
        p:=GetPosition;
-       GetSize:=Seek(0,soEnd);
-       Seek(p,soBeginning);
+       GetSize:=Seek(0,soFromEnd);
+       Seek(p,soFromBeginning);
     end;
 
   procedure TStream.SetSize(NewSize: Longint);
@@ -82,7 +82,7 @@
       if CurrClass<>nil then
        begin
          CurrSeek:[email protected];
-         TStreamSeek:=@TStream(@CurrClass).Seek;
+         TStreamSeek:=@TStream(CurrClass).Seek;
          if TMethod(TStreamSeek).Code=TMethod(CurrSeek).Code then
           CurrSeek:=nil;
        end;
@@ -99,7 +99,7 @@
       if (Offset<Low(longint)) or
          (Offset>High(longint)) then
         raise ERangeError.Create(SRangeError);
-      Result:=Seek(longint(Offset),ord(Origin));
+      Seek(longint(Offset),ord(Origin));
     end;
 
 {$else seek64bit}
@@ -631,8 +631,8 @@ procedure TMemoryStream.LoadFromFile(const FileName: string);
 Var S : TFileStream;
 
 begin
-  S:=TFileStream.Create (FileName,fmOpenRead);
   Try
+    S:=TFileStream.Create (FileName,fmOpenRead);
     LoadFromStream(S);
   finally
     S.free;
@@ -696,8 +696,8 @@ begin
   Result:=Length(FDataString)-FPosition;
   If Result>Count then Result:=Count;
   // 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;
 
 
@@ -784,22 +784,8 @@ end;
 
 {
   $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
 
  }
+

+ 4 - 30
fcl/inc/stringl.inc

@@ -1035,36 +1035,10 @@ end;
 
 {
   $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$
-  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$
-  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$
-  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$
-  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
       { 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
-	one starts }
+        one starts }
       WriteListBegin;
       WriteProperties(Value.Items[i]);
       WriteListEnd;
@@ -391,10 +391,10 @@ begin
       begin
         CurAncestor := TComponent(FAncestorList[i]);
         if UpperCase(CurAncestor.Name) = s then
-	begin
-	  Ancestor := CurAncestor;
-	  break;
-	end;
+        begin
+          Ancestor := CurAncestor;
+          break;
+        end;
       end;
     end;
 
@@ -596,7 +596,7 @@ var
   SavedPropPath, Name: String;
   Int64Value, DefInt64Value: Int64;
   BoolValue, DefBoolValue: boolean;
-  
+
 begin
 
   if (not Assigned(PPropInfo(PropInfo)^.SetProc)) or
@@ -619,28 +619,28 @@ begin
 
         if Value <> DefValue then
         begin
-	  Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+          Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           case PropType^.Kind of
             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));
-    	    tkSet:
-	      Driver.WriteSet(Value, GetTypeData(PropType)^.CompType);
-    	    tkEnumeration:
+            tkSet:
+              Driver.WriteSet(Value, GetTypeData(PropType)^.CompType);
+            tkEnumeration:
               WriteIdent(GetEnumName(PropType, Value));
           end;
-	  Driver.EndProperty;
-	end;
+          Driver.EndProperty;
+        end;
       end;
     tkFloat:
       begin
@@ -651,9 +651,9 @@ begin
           DefFloatValue := 0;
         if FloatValue <> DefFloatValue then
         begin
-	  Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+          Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           WriteFloat(FloatValue);
-	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
       end;
     tkMethod:
@@ -673,7 +673,7 @@ begin
             Driver.WriteMethodName(FLookupRoot.MethodName(MethodValue.Code))
           else
             Driver.WriteMethodName('');
-	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
       end;
     tkSString, tkLString, tkAString, tkWString:
@@ -689,7 +689,7 @@ begin
         begin
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           WriteString(StrValue);
-	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
       end;
   {!!!: tkVariant:}
@@ -702,76 +702,76 @@ begin
           if Assigned(AncestorObj) then
             if Assigned(ObjValue) 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
               AncestorObj := ObjValue
-	    else
-	      AncestorObj := nil;
-	end else
+            else
+              AncestorObj := nil;
+        end else
           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
           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
-        	Name := Component.Name
+                Name := Component.Name
               else if Component = LookupRoot then
-        	Name := 'Owner'
+                Name := 'Owner'
               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
-        	Name := Component.Name + '.Owner'
+                Name := Component.Name + '.Owner'
               else
-		SetLength(Name, 0);
+                SetLength(Name, 0);
 
               if Length(Name) > 0 then
               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 else if ObjValue.InheritsFrom(TCollection) then
           begin
-    	    if (not HasAncestor) or (not CollectionsEqual(TCollection(ObjValue),
+            if (not HasAncestor) or (not CollectionsEqual(TCollection(ObjValue),
               TCollection(GetOrdProp(Ancestor, PropInfo)))) then
-	    begin
-	      Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
+            begin
+              Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
               SavedPropPath := FPropPath;
               try
-        	SetLength(FPropPath, 0);
-        	WriteCollection(TCollection(ObjValue));
+                SetLength(FPropPath, 0);
+                WriteCollection(TCollection(ObjValue));
               finally
-        	FPropPath := SavedPropPath;
-		Driver.EndProperty;
+                FPropPath := SavedPropPath;
+                Driver.EndProperty;
               end;
-    	    end;
+            end;
           end else
           begin
-    	    SavedAncestor := Ancestor;
-    	    SavedPropPath := FPropPath;
-    	    try
+            SavedAncestor := Ancestor;
+            SavedPropPath := FPropPath;
+            try
               FPropPath := FPropPath + PPropInfo(PropInfo)^.Name + '.';
               if HasAncestor then
-        	Ancestor := TPersistent(GetOrdProp(Ancestor, PropInfo));
+                Ancestor := TPersistent(GetOrdProp(Ancestor, PropInfo));
               WriteProperties(TPersistent(ObjValue));
-    	    finally
+            finally
               Ancestor := SavedAncestor;
               FPropPath := SavedPropPath;
-    	    end;
+            end;
           end;
       end;
     tkInt64:
@@ -785,7 +785,7 @@ begin
         begin
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           WriteInteger(Int64Value);
-       	  Driver.EndProperty;
+          Driver.EndProperty;
         end;
       end;
     tkBool:
@@ -823,19 +823,13 @@ end;}
 
 {
   $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
 
   Revision 1.4  2002/09/03 06:02:57  michael
   + 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.
 {
   $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.
 {
   $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$
-  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.
 {
   $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$
-  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$
-  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.
 {
   $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$
-  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$
-  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.
 {
   $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$
-  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
 
     OS/2 specific part of pipe stream.
-    
+
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
 
@@ -28,13 +28,7 @@ begin
 end;
 {
   $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;
 
 
-procedure DosGetInfoBlocks (PATIB: PPThreadInfoBlock; 
+procedure DosGetInfoBlocks (PATIB: PPThreadInfoBlock;
               PAPIB: PPProcessInfoBlock); cdecl; external 'DOSCALLS' index 312;
 
 function DosSetPriority (Scope, TrClass, Delta, PortID: longint): longint;
@@ -231,16 +231,10 @@ end;
 
 {
   $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;
 {
   $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;
 {
   $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
 threads and pipes on systems which are compliant
 to POSIX and which implement the thread extensions
-of POSIX.
+of POSIX.

+ 2 - 2
fcl/posix/thread.inc

@@ -93,7 +93,7 @@ end;
 
 {
   $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.
 {
   $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
   i: Integer;
 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));
   if LineNumber < FLineCount - 1 then
     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
       begin
         repeat
-	  s2 := s2 + ' '
-	until (Length(s2) mod 8) = 0;
+          s2 := s2 + ' '
+        until (Length(s2) mod 8) = 0;
       end else
         s2 := s2 + s[i];
     AddLine(s2);
@@ -269,16 +269,16 @@ begin
       if (buffer[i] = #13) or (buffer[i] = #10) then
       begin
         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;
       Inc(i);
     end;
@@ -410,10 +410,7 @@ end.
 
 {
   $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;
   InSel: Boolean;
   LastCol: Char;
-  LineWithSpace: String;	// used for virtual whitespace expanding
+  LineWithSpace: String;        // used for virtual whitespace expanding
 
 begin
 
@@ -180,13 +180,13 @@ begin
     // Handle current selection
     if FSel.IsValid then
       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[1] := Chr(shSelected);
         StrCopy(@s[2], OrigStr);
       end else if OrigStr[0] = #0 then begin
         if LineNumber = FSel.OStartY then begin
-	  ASSERT(smem >= 3);
+          ASSERT(smem >= 3);
           s[0] := LF_Escape;
           s[1] := Chr(shSelected);
           s[2] := #0;
@@ -198,7 +198,7 @@ begin
         i := 0;
         cx := 0;
         if LineNumber > FSel.OStartY then begin
-	  ASSERT(smem >= 2);
+          ASSERT(smem >= 2);
           s[0] := LF_Escape;
           s[1] := Chr(shSelected);
           InSel := True;
@@ -207,11 +207,11 @@ begin
           InSel := False;
         LastCol := Chr(shDefault);
         while True do begin
-	  ASSERT(i <= StrLen(s2));
+          ASSERT(i <= StrLen(s2));
           if s2[i] = LF_Escape then begin
             LastCol := s2[i + 1];
             if not InSel then begin
-	      ASSERT(smem > spos + 1);
+              ASSERT(smem > spos + 1);
               s[spos] := LF_Escape;
               s[spos + 1] := LastCol;
               Inc(spos, 2);
@@ -220,7 +220,7 @@ begin
           end else begin
             if InSel 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 + 1] := LastCol;
                 Inc(spos, 2);
@@ -228,21 +228,21 @@ begin
               end;
             end else
               if (LineNumber = FSel.OStartY) and (cx = FSel.OStartX) then begin
-	        ASSERT(smem > spos + 1);
+                ASSERT(smem > spos + 1);
                 s[spos] := LF_Escape;
                 s[spos + 1] := Chr(shSelected);
                 Inc(spos, 2);
                 InSel := True;
               end;
             if s2[i] = #0 then break;    // only exit of 'while' loop!
-	    ASSERT(smem > spos);
+            ASSERT(smem > spos);
             s[spos] := s2[i];
             Inc(spos);
             Inc(i);
             Inc(cx);
           end;
         end;
-	ASSERT(smem > spos);
+        ASSERT(smem > spos);
         s[spos] := #0;
         StrDispose(s2);
       end;
@@ -259,7 +259,7 @@ end;
 
 {
   $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$
-  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$
-  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
     // WriteLn(shortcut.Action.Descr);
-    shortcut.Action.Method;	// Execute associated action
+    shortcut.Action.Method;     // Execute associated action
     // Handle the selection extending
     case shortcut.Action.SelectionAction of
       selNothing: ;
@@ -482,7 +482,7 @@ begin
     if (KeyCode <= 255) and (ShiftState * [ssCtrl, ssAlt] = []) then
       ExecKey(Chr(KeyCode), False)
     else
-      Result := False;		// Key has not been processed
+      Result := False;          // Key has not been processed
 
   EndSelectionChange;
   AdjustRangeToCursor;
@@ -491,7 +491,7 @@ end;
 
 {
   $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
 
-  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_Asm      = LF_SH_Multiline3;
 
@@ -99,8 +99,8 @@ end;
 
 procedure TSHPasEdit.DoHighlighting(var flags: Byte; source, dest: PChar);
 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);
   begin
@@ -297,8 +297,8 @@ begin
           end;
           if StringLength = 1 then
             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);
         end;
       '_', 'A'..'Z', 'a'..'z': begin
@@ -311,7 +311,7 @@ begin
       else begin
         AddSH(shInvalid);
         PutChar;  // = found an invalid char!
-	AddSH(shDefault);
+        AddSH(shDefault);
       end;
     end;
   end;
@@ -325,7 +325,7 @@ end.
 
 {
   $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$
-  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$
-  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
+
 }

部分文件因文件數量過多而無法顯示