From ba57d2813bb8a8125acdee147cb426d57c5f7474 Mon Sep 17 00:00:00 2001 From: florian Date: Mon, 13 Jul 1998 21:19:07 +0000 Subject: [PATCH] * some problems with ansi string support fixed --- rtl/atari/sysatari.pas | 7 ++++--- rtl/dos/go32v2/system.pp | 8 +++++--- rtl/inc/astrings.pp | 28 ++++++++++++++-------------- rtl/inc/real2str.inc | 9 ++++++++- rtl/inc/rtti.inc | 15 +++++++-------- rtl/inc/system.inc | 9 ++++++++- rtl/linux/syslinux.pp | 8 ++++---- rtl/win32/syswin32.pp | 8 ++++---- 8 files changed, 54 insertions(+), 38 deletions(-) diff --git a/rtl/atari/sysatari.pas b/rtl/atari/sysatari.pas index add5d69e74..7c313b6c9e 100644 --- a/rtl/atari/sysatari.pas +++ b/rtl/atari/sysatari.pas @@ -48,8 +48,6 @@ const var errno : integer; - type - plongint = ^longint; {$S-} procedure Stack_Check; assembler; @@ -635,7 +633,10 @@ end. { $Log$ - Revision 1.5 1998-07-13 12:34:13 carl + Revision 1.6 1998-07-13 21:19:07 florian + * some problems with ansi string support fixed + + Revision 1.5 1998/07/13 12:34:13 carl + Error2InoutRes implemented * do_read was doing a wrong os call! * do_open was not pushing the right values diff --git a/rtl/dos/go32v2/system.pp b/rtl/dos/go32v2/system.pp index 71b71401da..311eeac2b3 100644 --- a/rtl/dos/go32v2/system.pp +++ b/rtl/dos/go32v2/system.pp @@ -127,8 +127,7 @@ implementation const carryflag = 1; -type - plongint = ^longint; + var doscmd : string[128]; { Dos commandline copied from PSP, max is 128 chars } @@ -1058,7 +1057,10 @@ Begin End. { $Log$ - Revision 1.11 1998-07-07 12:33:08 carl + Revision 1.12 1998-07-13 21:19:08 florian + * some problems with ansi string support fixed + + Revision 1.11 1998/07/07 12:33:08 carl * added 2k buffer for stack checking for correct io on error Revision 1.10 1998/07/02 12:29:20 carl diff --git a/rtl/inc/astrings.pp b/rtl/inc/astrings.pp index a890863a00..dceb395abd 100644 --- a/rtl/inc/astrings.pp +++ b/rtl/inc/astrings.pp @@ -41,7 +41,7 @@ Function NewAnsiString (Len : Longint) : AnsiString; forward; Procedure DisposeAnsiString (Var S : AnsiString); forward; Procedure Decr_Ansi_Ref (Var S : AnsiString); forward; Procedure Incr_Ansi_Ref (Var S : AnsiString); forward; -Procedure AssignAnsiString (Var S1 : AnsiString; S2 : AnsiString); +Procedure AssignAnsiString (Var S1 : AnsiString; S2 : AnsiString); forward; Procedure Ansi_String_Concat (Var S1 : AnsiString; Const S2 : AnsiString); forward; Procedure Ansi_ShortString_Concat (Var S1: AnsiString; Const S2 : ShortString); forward; Procedure Ansi_To_ShortString (Var S1 : ShortString; Const S2 : AnsiString; maxlen : longint); forward; @@ -58,10 +58,7 @@ Type TAnsiRec = Record First : Char; end; PAnsiRec = ^TAnsiRec; - - PLongint = ^Longint; - PByte = ^Byte; - + Const AnsiRecLen = SizeOf(TAnsiRec); FirstOff = SizeOf(TAnsiRec)-1; @@ -325,7 +322,7 @@ end; -Procedure Write_Text_AnsiString (Len : Longint; T : TextRec; Var S : AnsiString);[Public, alias 'WRITE_TEXT_ANSISTRING']; +Procedure Write_Text_AnsiString (Len : Longint; T : TextRec; Var S : AnsiString);[Public, alias: 'WRITE_TEXT_ANSISTRING']; { Writes a AnsiString to the Text file T } @@ -368,7 +365,7 @@ Procedure SetLength (Var S : AnsiString; l : Longint); Var Temp : Pointer; begin - If (S=Nil) and (l>0) then + If (Pointer(S)=Nil) and (l>0) then begin { Need a complete new string...} S:=NewAnsiString(l); @@ -384,9 +381,9 @@ begin { Reallocation is needed... } Temp:=Pointer(NewAnsiString(L)); if Length(S)>0 then - Move (S^,Temp^,Length(S)+1); + Move (Pointer(S)^,Temp^,Length(S)+1); Decr_Ansi_ref (S); - S:=Temp; + S:=AnsiString(Temp); end; PAnsiRec(Pointer(S)-FirstOff)^.Len:=l end @@ -418,7 +415,7 @@ begin PByte(ResultAddress+Size)^:=0; end; end; - Copy:=ResultAddress; + Copy:=AnsiString(ResultAddress); end; @@ -438,7 +435,7 @@ begin begin inc (i); S:=Pointer(copy(Source,i,length(Substr))); - if AnsiCompare(substr,s)=0 then + if AnsiCompare(substr,AnsiString(s))=0 then begin j := i; e := false; @@ -547,7 +544,7 @@ begin System.Val(SS,SI,Code); end; - +{ Procedure Str (Const R : Real;Len,fr : Longint; Var S : AnsiString); Var SS : ShortString; @@ -624,7 +621,7 @@ Procedure Str (Const SI : ShortInt; Len : Longint; Var S : AnsiString); begin end; - +} Procedure Delete (Var S : AnsiString; Index,Size: Longint); @@ -672,7 +669,10 @@ end; { $Log$ - Revision 1.7 1998-07-06 14:29:08 michael + Revision 1.8 1998-07-13 21:19:09 florian + * some problems with ansi string support fixed + + Revision 1.7 1998/07/06 14:29:08 michael + Added Public,Alias directives for some calls Revision 1.6 1998/06/25 08:41:44 florian diff --git a/rtl/inc/real2str.inc b/rtl/inc/real2str.inc index b26d34bf36..aacd7a7bff 100644 --- a/rtl/inc/real2str.inc +++ b/rtl/inc/real2str.inc @@ -158,7 +158,11 @@ begin insert ('.',temp,3); str(abs(correct),power); if length(power)