From 041eb4aa1dc71dd6eee3280f602f475aaabdd978 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 22 Apr 2004 21:10:56 +0000 Subject: [PATCH] * do_read/do_write addr argument changed to pointer --- rtl/beos/Makefile | 4 ++-- rtl/beos/Makefile.fpc | 2 +- rtl/beos/system.pp | 13 ++++++++----- rtl/bsd/osmain.inc | 13 ++++++++----- rtl/emx/Makefile | 6 +++--- rtl/emx/Makefile.fpc | 4 ++-- rtl/emx/system.pas | 9 ++++++--- rtl/go32v2/system.pp | 17 ++++++++++------- rtl/inc/file.inc | 9 ++++++--- rtl/inc/text.inc | 9 ++++++--- rtl/inc/typefile.inc | 9 ++++++--- rtl/os2/system.pas | 17 ++++++++++------- rtl/watcom/system.pp | 17 ++++++++++------- rtl/win32/system.pp | 13 ++++++++----- 14 files changed, 86 insertions(+), 56 deletions(-) diff --git a/rtl/beos/Makefile b/rtl/beos/Makefile index 392e424d4b..211a9cc3c3 100644 --- a/rtl/beos/Makefile +++ b/rtl/beos/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/22] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom @@ -1403,7 +1403,7 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ $(OBJPASDIR)/varutilh.inc varutils.pp $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) - $(COMPILER) $(OBJPASDIR)/types.pp + $(COMPILER) $(OBJPASDIR)/types.pp cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT) diff --git a/rtl/beos/Makefile.fpc b/rtl/beos/Makefile.fpc index 58260ba477..cac6eb769d 100644 --- a/rtl/beos/Makefile.fpc +++ b/rtl/beos/Makefile.fpc @@ -137,7 +137,7 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) - $(COMPILER) $(OBJPASDIR)/types.pp + $(COMPILER) $(OBJPASDIR)/types.pp # # Other system-independent RTL Units diff --git a/rtl/beos/system.pp b/rtl/beos/system.pp index 9cbcd13aa1..02331600ac 100644 --- a/rtl/beos/system.pp +++ b/rtl/beos/system.pp @@ -208,7 +208,7 @@ begin InOutRes:=sys_rename($FF000000,p1,$FF000000,p2); end; -function do_write(h,addr,len : longint) : longint; +function do_write(h:longint;addr:pointer;len : longint) : longint; begin { if h>0 then begin sys_write ('WRITE handle=%d ',h); @@ -216,21 +216,21 @@ begin printf ('len=%d',len); printf ('%c',10); end;} - do_write:=sys_write (h,pointer(addr),len,zero); + do_write:=sys_write (h,addr,len,zero); if (do_write<0) then begin InOutRes:=do_write; do_write:=0; end else InOutRes:=0; end; -function do_read(h,addr,len : longint) : longint; +function do_read(h:longint;addr:pointer;len : longint) : longint; begin { if h>2 then begin printf ('READ handle=%d ',h); printf ('addr=%x ',addr); printf ('len=%d',len); end;} - do_read:=sys_read (h,pointer(addr),len,zero); + do_read:=sys_read (h,addr,len,zero); if (do_read<0) then begin InOutRes:=do_read; do_read:=0; @@ -541,7 +541,10 @@ begin end. { $Log$ - Revision 1.11 2004-01-20 23:09:14 hajny + Revision 1.12 2004-04-22 21:10:56 peter + * do_read/do_write addr argument changed to pointer + + Revision 1.11 2004/01/20 23:09:14 hajny * ExecuteProcess fixes, ProcessID and ThreadID added Revision 1.10 2003/10/25 23:42:35 hajny diff --git a/rtl/bsd/osmain.inc b/rtl/bsd/osmain.inc index 202cbcb3fa..66182ab28e 100644 --- a/rtl/bsd/osmain.inc +++ b/rtl/bsd/osmain.inc @@ -205,12 +205,12 @@ Begin End; -Function Do_Write(Handle,Addr,Len:Longint):longint; +Function Do_Write(Handle:Longint;Addr:Pointer;Len:Longint):longint; var j : cint; Begin repeat - Do_Write:=Fpwrite(Handle,pchar(addr),len); + Do_Write:=Fpwrite(Handle,addr,len); j:=geterrno; until (do_write<>-1) or ((j<>ESysEINTR) and (j<>ESysEAgain)); If Do_Write<0 Then @@ -223,13 +223,13 @@ Begin End; -Function Do_Read(Handle,Addr,Len:Longint):Longint; +Function Do_Read(Handle:Longint;Addr:Pointer;Len:Longint):Longint; var j:cint; Begin repeat - Do_Read:=Fpread(Handle,pchar(addr),len); + Do_Read:=Fpread(Handle,addr,len); j:=geterrno; until (do_read<>-1) or ((j<>ESysEINTR) and (j<>ESysEAgain)); If Do_Read<0 Then @@ -593,7 +593,10 @@ end; { $Log$ - Revision 1.12 2004-01-06 15:42:05 marco + Revision 1.13 2004-04-22 21:10:56 peter + * do_read/do_write addr argument changed to pointer + + Revision 1.12 2004/01/06 15:42:05 marco * o_creat added when o_append Revision 1.11 2004/01/03 14:56:10 marco diff --git a/rtl/emx/Makefile b/rtl/emx/Makefile index 611e966a13..09254bb16d 100644 --- a/rtl/emx/Makefile +++ b/rtl/emx/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/21] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/04/22] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom @@ -1406,10 +1406,10 @@ objects$(PPUEXT) : $(INC)/objects.pp dos$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) printer$(PPUEXT) : $(OS2INC)/printer.pas $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ objpas$(PPUEXT) dos$(PPUEXT) sysconst$(PPUEXT) - $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp + $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp classes$(PPUEXT) : ../os2/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ sysutils$(PPUEXT) typinfo$(PPUEXT) - $(COMPILER) -Fi$(OBJPASDIR)/classes ../os2/classes.pp + $(COMPILER) -Fi$(OBJPASDIR)/classes ../os2/classes.pp typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR) math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) diff --git a/rtl/emx/Makefile.fpc b/rtl/emx/Makefile.fpc index d59c997f9d..b41f782804 100644 --- a/rtl/emx/Makefile.fpc +++ b/rtl/emx/Makefile.fpc @@ -156,11 +156,11 @@ printer$(PPUEXT) : $(OS2INC)/printer.pas $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEX sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ objpas$(PPUEXT) dos$(PPUEXT) sysconst$(PPUEXT) - $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp + $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp classes$(PPUEXT) : ../os2/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ sysutils$(PPUEXT) typinfo$(PPUEXT) - $(COMPILER) -Fi$(OBJPASDIR)/classes ../os2/classes.pp + $(COMPILER) -Fi$(OBJPASDIR)/classes ../os2/classes.pp typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR) diff --git a/rtl/emx/system.pas b/rtl/emx/system.pas index e450a8b929..d8d5389fd9 100644 --- a/rtl/emx/system.pas +++ b/rtl/emx/system.pas @@ -402,7 +402,7 @@ begin end ['eax', 'edx', 'edi']; end; -function do_read(h,addr,len:longint):longint; assembler; +function do_read(h:longint;addr:pointer;len:longint):longint; assembler; asm pushl %ebx {$IFNDEF REGCALL} @@ -421,7 +421,7 @@ asm popl %ebx end {['eax', 'ebx', 'ecx', 'edx']}; -function do_write(h,addr,len:longint) : longint; assembler; +function do_write(h:longint;addr:pointer;len:longint) : longint; assembler; asm pushl %ebx {$IFDEF REGCALL} @@ -1318,7 +1318,10 @@ begin end. { $Log$ - Revision 1.23 2004-01-20 23:05:31 hajny + Revision 1.24 2004-04-22 21:10:56 peter + * do_read/do_write addr argument changed to pointer + + Revision 1.23 2004/01/20 23:05:31 hajny * ExecuteProcess fixes, ProcessID and ThreadID added Revision 1.22 2003/12/26 22:20:44 hajny diff --git a/rtl/go32v2/system.pp b/rtl/go32v2/system.pp index 85d77016ce..04805a4a72 100644 --- a/rtl/go32v2/system.pp +++ b/rtl/go32v2/system.pp @@ -144,8 +144,8 @@ const reales,realds,realfs,realgs, realip,realcs,realsp,realss : word; end; - function do_write(h,addr,len : longint) : longint; - function do_read(h,addr,len : longint) : longint; + function do_write(h:longint;addr:pointer;len : longint) : longint; + function do_read(h:longint;addr:pointer;len : longint) : longint; procedure syscopyfromdos(addr : longint; len : longint); procedure syscopytodos(addr : longint; len : longint); procedure sysrealintr(intnr : word;var regs : trealregs); @@ -1019,7 +1019,7 @@ begin end; -function do_write(h,addr,len : longint) : longint; +function do_write(h:longint;addr:pointer;len : longint) : longint; var regs : trealregs; size, @@ -1032,7 +1032,7 @@ begin size:=tb_size else size:=len; - syscopytodos(addr+writesize,size); + syscopytodos(ptrint(addr)+writesize,size); regs.realecx:=size; regs.realedx:=tb_offset; regs.realds:=tb_segment; @@ -1054,7 +1054,7 @@ begin end; -function do_read(h,addr,len : longint) : longint; +function do_read(h:longint;addr:pointer;len : longint) : longint; var regs : trealregs; size, @@ -1079,7 +1079,7 @@ begin do_read:=0; exit; end; - syscopyfromdos(addr+readsize,lo(regs.realeax)); + syscopyfromdos(ptrint(addr)+readsize,lo(regs.realeax)); inc(readsize,lo(regs.realeax)); dec(len,lo(regs.realeax)); { stop when not the specified size is read } @@ -1607,7 +1607,10 @@ Begin End. { $Log$ - Revision 1.33 2004-01-25 13:05:08 jonas + Revision 1.34 2004-04-22 21:10:56 peter + * do_read/do_write addr argument changed to pointer + + Revision 1.33 2004/01/25 13:05:08 jonas * fixed compilation errors Revision 1.32 2004/01/20 23:09:14 hajny diff --git a/rtl/inc/file.inc b/rtl/inc/file.inc index f96018b4aa..91c9b88b00 100644 --- a/rtl/inc/file.inc +++ b/rtl/inc/file.inc @@ -134,7 +134,7 @@ Begin exit; case FileRec(f).Mode of fmInOut,fmOutput : - Result:=Do_Write(FileRec(f).Handle,Longint(@Buf),Count*FileRec(f).RecSize) + Result:=Do_Write(FileRec(f).Handle,@Buf,Count*FileRec(f).RecSize) div FileRec(f).RecSize; fmInPut: inOutRes := 105; else InOutRes:=103; @@ -203,7 +203,7 @@ Begin exit; case FileRec(f).Mode of fmInOut,fmInput : - Result:=Do_Read(FileRec(f).Handle,Longint(@Buf),count*FileRec(f).RecSize) + Result:=Do_Read(FileRec(f).Handle,@Buf,count*FileRec(f).RecSize) div FileRec(f).RecSize; fmOutput: inOutRes := 104; else InOutRes:=103; @@ -412,7 +412,10 @@ End; { $Log$ - Revision 1.7 2003-11-29 14:07:52 peter + Revision 1.8 2004-04-22 21:10:56 peter + * do_read/do_write addr argument changed to pointer + + Revision 1.7 2003/11/29 14:07:52 peter * do not overwrite Inoutres in blockwrite with 101 Revision 1.6 2002/12/07 14:36:14 carl diff --git a/rtl/inc/text.inc b/rtl/inc/text.inc index c9e623c6e6..3827672e2e 100644 --- a/rtl/inc/text.inc +++ b/rtl/inc/text.inc @@ -35,7 +35,7 @@ End; Procedure FileReadFunc(var t:TextRec); Begin - t.BufEnd:=Do_Read(t.Handle,Longint(t.Bufptr),t.BufSize); + t.BufEnd:=Do_Read(t.Handle,t.Bufptr,t.BufSize); t.BufPos:=0; End; @@ -44,7 +44,7 @@ Procedure FileWriteFunc(var t:TextRec); var i : longint; Begin - i:=Do_Write(t.Handle,Longint(t.Bufptr),t.BufPos); + i:=Do_Write(t.Handle,t.Bufptr,t.BufPos); if i<>t.BufPos then InOutRes:=101; t.BufPos:=0; @@ -1266,7 +1266,10 @@ end; { $Log$ - Revision 1.20 2002-11-29 16:26:52 peter + Revision 1.21 2004-04-22 21:10:56 peter + * do_read/do_write addr argument changed to pointer + + Revision 1.20 2002/11/29 16:26:52 peter * fixed ignorespaces which was broken by the previous commit when a line started with spaces diff --git a/rtl/inc/typefile.inc b/rtl/inc/typefile.inc index b191c398db..7a94b95599 100644 --- a/rtl/inc/typefile.inc +++ b/rtl/inc/typefile.inc @@ -68,7 +68,7 @@ Begin exit; case fileRec(f).mode of fmOutPut,fmInOut: - Do_Write(FileRec(f).Handle,Longint(@Buf),TypeSize); + Do_Write(FileRec(f).Handle,@Buf,TypeSize); fmInput: inOutRes := 105; else inOutRes := 103; end; @@ -83,7 +83,7 @@ Begin case FileRec(f).mode of fmInput,fmInOut: begin - Result:=Do_Read(FileRec(f).Handle,Longint(@Buf),TypeSize); + Result:=Do_Read(FileRec(f).Handle,@Buf,TypeSize); If Result