mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 05:49:30 +01:00
* fixed for unix
This commit is contained in:
parent
309742257d
commit
f224659a77
@ -107,6 +107,7 @@ uses
|
||||
{$ifdef VER1_0}
|
||||
linux,
|
||||
{$else}
|
||||
baseunix,
|
||||
unix,
|
||||
{$endif}
|
||||
{$endif}
|
||||
@ -289,7 +290,7 @@ begin
|
||||
{$endif HasSignal}
|
||||
begin
|
||||
{$ifdef HasSignal}
|
||||
StoreSigFPE:=Signal(SIGFPE,@CalcSigFPE);
|
||||
StoreSigFPE:={$ifdef ver1_0}Signal{$else}fpSignal{$endif}(SIGFPE,@CalcSigFPE);
|
||||
{$endif HasSignal}
|
||||
if (Status = csError) and (Key <> 'C') then Key := ' ';
|
||||
if HexShown then
|
||||
@ -379,7 +380,7 @@ begin
|
||||
else CalcKey:=false;
|
||||
end;
|
||||
{$ifdef HasSignal}
|
||||
Signal(SIGFPE,StoreSigFPE);
|
||||
{$ifdef ver1_0}Signal{$else}fpSignal{$endif}(SIGFPE,StoreSigFPE);
|
||||
{$endif HasSignal}
|
||||
DrawView;
|
||||
{$ifdef HasSignal}
|
||||
@ -571,7 +572,10 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.7 2002-09-13 08:13:07 pierre
|
||||
Revision 1.8 2003-09-27 14:03:45 peter
|
||||
* fixed for unix
|
||||
|
||||
Revision 1.7 2002/09/13 08:13:07 pierre
|
||||
* avoid RTE 201 in hexstr calls
|
||||
|
||||
Revision 1.6 2002/09/07 15:40:42 peter
|
||||
|
||||
@ -23,6 +23,7 @@ uses
|
||||
{$ifdef VER1_0}
|
||||
linux;
|
||||
{$else}
|
||||
baseunix,
|
||||
unix;
|
||||
{$endif}
|
||||
{$endif}
|
||||
@ -101,9 +102,9 @@ end;
|
||||
|
||||
{$ifdef HasSignal}
|
||||
{$ifdef Unix}
|
||||
Procedure CatchSignal(Sig : Longint);cdecl;
|
||||
Procedure Catchsignal(Sig : Longint);cdecl;
|
||||
{$else}
|
||||
Function CatchSignal(Sig : longint):longint;
|
||||
Function Catchsignal(Sig : longint):longint;
|
||||
{$endif}
|
||||
var MustQuit: boolean;
|
||||
begin
|
||||
@ -204,10 +205,10 @@ begin
|
||||
{$else TP}
|
||||
NewSignal:=SignalHandler(CatchSignal);
|
||||
{$endif TP}
|
||||
OldSigSegm:=Signal (SIGSEGV,NewSignal);
|
||||
OldSigInt:=Signal (SIGINT,NewSignal);
|
||||
OldSigFPE:=Signal (SIGFPE,NewSignal);
|
||||
OldSigILL:=Signal (SIGILL,NewSignal);
|
||||
OldSigSegm:={$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGSEGV,NewSignal);
|
||||
OldSigInt:={$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGINT,NewSignal);
|
||||
OldSigFPE:={$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGFPE,NewSignal);
|
||||
OldSigILL:={$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGILL,NewSignal);
|
||||
CatchSignalsEnabled:=true;
|
||||
{$endif}
|
||||
end;
|
||||
@ -217,10 +218,10 @@ begin
|
||||
{$ifdef HasSignal}
|
||||
if not CatchSignalsEnabled then
|
||||
exit;
|
||||
Signal (SIGSEGV,OldSigSegm);
|
||||
Signal (SIGINT,OldSigInt);
|
||||
Signal (SIGFPE,OldSigFPE);
|
||||
Signal (SIGILL,OldSigILL);
|
||||
{$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGSEGV,OldSigSegm);
|
||||
{$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGINT,OldSigInt);
|
||||
{$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGFPE,OldSigFPE);
|
||||
{$ifdef ver1_0}signal{$else}fpsignal{$endif}(SIGILL,OldSigILL);
|
||||
CatchSignalsEnabled:=false;
|
||||
{$endif}
|
||||
end;
|
||||
@ -229,7 +230,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.7 2003-04-23 09:49:26 peter
|
||||
Revision 1.8 2003-09-27 14:03:45 peter
|
||||
* fixed for unix
|
||||
|
||||
Revision 1.7 2003/04/23 09:49:26 peter
|
||||
* unix signal handler needs longint
|
||||
|
||||
Revision 1.6 2002/09/07 21:04:41 carl
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
Unit Redir;
|
||||
Unit FpRedir;
|
||||
Interface
|
||||
|
||||
{$R-}
|
||||
@ -970,7 +970,10 @@ finalization
|
||||
End.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.3 2003-09-25 16:49:08 peter
|
||||
Revision 1.4 2003-09-27 14:03:45 peter
|
||||
* fixed for unix
|
||||
|
||||
Revision 1.3 2003/09/25 16:49:08 peter
|
||||
* adapted for 1.1 unix
|
||||
|
||||
Revision 1.13 2003/06/05 20:03:22 peter
|
||||
|
||||
@ -26,6 +26,7 @@ uses
|
||||
{$ifdef VER1_0}
|
||||
linux,
|
||||
{$else}
|
||||
baseunix,
|
||||
unix,
|
||||
{$endif}
|
||||
{$endif}
|
||||
@ -782,18 +783,18 @@ begin
|
||||
'0'..'9' :
|
||||
begin { running Linux on native console or native-emulation }
|
||||
FName:='/dev/vcsa' + ThisTTY[9];
|
||||
TTYFd:=fdOpen(FName, Octal(666), Open_RdWr); { open console }
|
||||
TTYFd:={$ifdef ver1_0}fdOpen{$else}fpOpen{$endif}(FName, Octal(666), Open_RdWr); { open console }
|
||||
If TTYFd <>-1 Then
|
||||
Console:=ttyLinux;
|
||||
Console:=ttyLinux;
|
||||
end;
|
||||
'v' : { check for (Free?)BSD native}
|
||||
If (ThisTTY[10]>='0') and (ThisTTY[10]<='9') Then
|
||||
Console:=ttyFreeBSD; {TTYFd ?}
|
||||
end;
|
||||
'v' : { check for (Free?)BSD native}
|
||||
If (ThisTTY[10]>='0') and (ThisTTY[10]<='9') Then
|
||||
Console:=ttyFreeBSD; {TTYFd ?}
|
||||
end;
|
||||
end;
|
||||
If Copy(GetEnv('TERM'),1,6)='cons25' Then
|
||||
Console:=ttyFreeBSD;
|
||||
ioctl(stdinputhandle, TIOCGWINSZ, @WS);
|
||||
{$ifdef ver1_0}ioctl{$else}fpioctl{$endif}(stdinputhandle, TIOCGWINSZ, @WS);
|
||||
if WS.ws_Col=0 then
|
||||
WS.ws_Col:=80;
|
||||
if WS.ws_Row=0 then
|
||||
@ -884,11 +885,11 @@ begin
|
||||
write(#27'7'#27'[?47h')
|
||||
else if (TTYfd<>-1) then
|
||||
begin
|
||||
fdSeek(TTYFd, 0, Seek_Set);
|
||||
fdRead(TTYFd,ConsHeight,sizeof(byte));
|
||||
fdRead(TTYFd,ConsWidth,sizeof(byte));
|
||||
fdRead(TTYFd,ConsCursorX,sizeof(byte));
|
||||
fdRead(TTYFd,ConsCursorY,sizeof(byte));
|
||||
{$ifdef ver1_0}fdSeek{$else}fpLSeek{$endif}(TTYFd, 0, Seek_Set);
|
||||
{$ifdef ver1_0}fdread{$else}fpread{$endif}(TTYFd,ConsHeight,sizeof(byte));
|
||||
{$ifdef ver1_0}fdread{$else}fpread{$endif}(TTYFd,ConsWidth,sizeof(byte));
|
||||
{$ifdef ver1_0}fdread{$else}fpread{$endif}(TTYFd,ConsCursorX,sizeof(byte));
|
||||
{$ifdef ver1_0}fdread{$else}fpread{$endif}(TTYFd,ConsCursorY,sizeof(byte));
|
||||
NewSize:=ConsWidth*ConsHeight*sizeof(word);
|
||||
if (NewSize<>ConsVideoBufSize) and
|
||||
assigned(ConsVideoBuf) then
|
||||
@ -899,7 +900,7 @@ begin
|
||||
If not assigned(ConsVideoBuf) then
|
||||
GetMem(ConsVideoBuf,NewSize);
|
||||
ConsVideoBufSize:=NewSize;
|
||||
fdRead(TTYFd,ConsVideoBuf^,ConsVideoBufSize);
|
||||
{$ifdef ver1_0}fdread{$else}fpread{$endif}(TTYFd,ConsVideoBuf^,ConsVideoBufSize);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -922,10 +923,10 @@ begin
|
||||
end
|
||||
else if (TTyfd<>-1) then
|
||||
begin
|
||||
fdSeek(TTYFd, 2, Seek_Set);
|
||||
fdWrite(TTYFd, ConsCursorX, sizeof(byte));
|
||||
fdWrite(TTYFd, ConsCursorY, sizeof(byte));
|
||||
fdWrite(TTYFd, ConsVideoBuf^,ConsVideoBufSize);
|
||||
{$ifdef ver1_0}fdSeek{$else}fplSeek{$endif}(TTYFd, 2, Seek_Set);
|
||||
{$ifdef ver1_0}fdwrite{$else}fpwrite{$endif}(TTYFd, ConsCursorX, sizeof(byte));
|
||||
{$ifdef ver1_0}fdwrite{$else}fpwrite{$endif}(TTYFd, ConsCursorY, sizeof(byte));
|
||||
{$ifdef ver1_0}fdwrite{$else}fpwrite{$endif}(TTYFd, ConsVideoBuf^,ConsVideoBufSize);
|
||||
{ FreeMem(ConsVideoBuf,ConsVideoBufSize);
|
||||
ConsVideoBuf:=nil; }
|
||||
end;
|
||||
@ -1440,7 +1441,10 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.27 2003-02-04 22:05:56 pierre
|
||||
Revision 1.28 2003-09-27 14:03:45 peter
|
||||
* fixed for unix
|
||||
|
||||
Revision 1.27 2003/02/04 22:05:56 pierre
|
||||
* fix bug 2253
|
||||
|
||||
Revision 1.26 2002/10/30 22:07:11 pierre
|
||||
|
||||
@ -188,6 +188,7 @@ uses
|
||||
{$ifdef VER1_0}
|
||||
linux,
|
||||
{$else}
|
||||
baseunix,
|
||||
unix,
|
||||
{$endif}
|
||||
{$endif Unix}
|
||||
@ -303,8 +304,13 @@ Function GetDosTicks:longint; { returns ticks at 18.2 Hz, just like DOS }
|
||||
tv : TimeVal;
|
||||
tz : TimeZone;
|
||||
begin
|
||||
{$ifdef ver1_0}
|
||||
GetTimeOfDay(tv); {Timezone no longer used?}
|
||||
GetDosTicks:=((tv.Sec mod 86400) div 60)*1092+((tv.Sec mod 60)*1000000+tv.USec) div 54945;
|
||||
{$else}
|
||||
fpGetTimeOfDay(@tv,@tz);
|
||||
GetDosTicks:=((tv.tv_Sec mod 86400) div 60)*1092+((tv.tv_Sec mod 60)*1000000+tv.tv_USec) div 54945;
|
||||
{$endif}
|
||||
end;
|
||||
{$endif Unix}
|
||||
{$ifdef Win32}
|
||||
@ -951,7 +957,10 @@ end;
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.9 2002-11-22 15:18:24 pierre
|
||||
Revision 1.10 2003-09-27 14:03:45 peter
|
||||
* fixed for unix
|
||||
|
||||
Revision 1.9 2002/11/22 15:18:24 pierre
|
||||
* fix SwapWord, arg must be of var type
|
||||
|
||||
Revision 1.8 2002/11/22 12:21:16 pierre
|
||||
|
||||
@ -28,6 +28,7 @@ uses
|
||||
{$ifdef VER1_0}
|
||||
linux,
|
||||
{$else}
|
||||
baseunix,
|
||||
unix,
|
||||
{$endif}
|
||||
{$endif Unix}
|
||||
@ -1328,7 +1329,7 @@ end;
|
||||
begin
|
||||
req.tv_sec:=0;
|
||||
req.tv_nsec:=10000000;{ 10 ms }
|
||||
nanosleep(req,rem);
|
||||
{$ifdef ver1_0}nanosleep(req,rem){$else}fpnanosleep(@req,@rem){$endif};
|
||||
end;
|
||||
{$endif}
|
||||
{$IFDEF OS2}
|
||||
@ -1363,7 +1364,10 @@ BEGIN
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.16 2002-09-11 12:10:03 pierre
|
||||
Revision 1.17 2003-09-27 14:03:45 peter
|
||||
* fixed for unix
|
||||
|
||||
Revision 1.16 2002/09/11 12:10:03 pierre
|
||||
* fix bug in new readline method on line overflow
|
||||
|
||||
Revision 1.15 2002/09/11 08:30:38 pierre
|
||||
|
||||
Loading…
Reference in New Issue
Block a user