mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 17:09:35 +02:00
Amiga, AROS, MorphOS: TAG_(), AsTag() for easer varargs handling
git-svn-id: trunk@33223 -
This commit is contained in:
parent
1e792e6f06
commit
759170f822
@ -391,6 +391,16 @@ FUNCTION Strnicmp(CONST string1 : pCHAR; CONST string2 : string; length : LONGIN
|
||||
FUNCTION Strnicmp(CONST string1 : string; CONST string2 : string; length : LONGINT) : LONGINT;
|
||||
|
||||
|
||||
function TAG_(value: pointer): PtrUInt; overload; inline;
|
||||
function TAG_(value: pchar): PtrUInt; overload; inline;
|
||||
function TAG_(value: boolean): PtrUInt; overload; inline;
|
||||
function TAG_(value: integer): PtrUInt; overload; inline;
|
||||
|
||||
function AsTag(value: pointer): PtrUInt; overload; inline;
|
||||
function AsTag(value: pchar): PtrUInt; overload; inline;
|
||||
function AsTag(value: boolean): PtrUInt; overload; inline;
|
||||
function AsTag(value: integer): PtrUInt; overload; inline;
|
||||
|
||||
IMPLEMENTATION
|
||||
|
||||
function AllocNamedObject(name : STRPTR; Const argv : array of PtrUInt) : pNamedObject;
|
||||
@ -439,6 +449,52 @@ begin
|
||||
Strnicmp := Strnicmp(PChar(RawbyteString(string1)),PChar(RawbyteString(string2)),length);
|
||||
end;
|
||||
|
||||
function TAG_(value: pointer): PtrUInt; inline;
|
||||
begin
|
||||
TAG_:=PtrUInt(value);
|
||||
end;
|
||||
|
||||
function TAG_(value: pchar): PtrUInt; inline;
|
||||
begin
|
||||
TAG_:=PtrUInt(value);
|
||||
end;
|
||||
|
||||
function TAG_(value: boolean): PtrUInt; inline;
|
||||
begin
|
||||
if value then
|
||||
TAG_ := LTrue
|
||||
else
|
||||
TAG_ := LFalse;
|
||||
end;
|
||||
|
||||
function TAG_(value: integer): PtrUInt; inline;
|
||||
begin
|
||||
TAG_:=PtrUInt(value);
|
||||
end;
|
||||
|
||||
function AsTag(value: pointer): PtrUInt; inline;
|
||||
begin
|
||||
AsTag:=PtrUInt(value);
|
||||
end;
|
||||
|
||||
function AsTag(value: pchar): PtrUInt; inline;
|
||||
begin
|
||||
AsTag:=PtrUInt(value);
|
||||
end;
|
||||
|
||||
function AsTag(value: boolean): PtrUInt; inline;
|
||||
begin
|
||||
if value then
|
||||
AsTag := LTrue
|
||||
else
|
||||
AsTag := LFalse;
|
||||
end;
|
||||
|
||||
function AsTag(value: integer): PtrUInt; inline;
|
||||
begin
|
||||
AsTag:=PtrUInt(value);
|
||||
end;
|
||||
|
||||
initialization
|
||||
UtilityBase := _UtilityBase;
|
||||
end.
|
||||
|
@ -255,6 +255,16 @@ function CALLHOOKPKT_(Hook: PHook; Object_: APTR; Message: APTR): IPTR; inline;
|
||||
function AllocNamedObject(const Name: STRPTR; const Tags: array of PtrUInt): PNamedObject;
|
||||
function CallHook(Hook: PHook; Object_: APTR; const Params: array of PtrUInt): IPTR;
|
||||
|
||||
function TAG_(Value: Pointer): PtrUInt; overload; inline;
|
||||
function TAG_(Value: PChar): PtrUInt; overload; inline;
|
||||
function TAG_(Value: boolean): PtrUInt; overload; inline;
|
||||
function TAG_(Value: integer): PtrUInt; overload; inline;
|
||||
|
||||
function AsTag(Value: Pointer): PtrUInt; overload; inline;
|
||||
function AsTag(Value: PChar): PtrUInt; overload; inline;
|
||||
function AsTag(Value: boolean): PtrUInt; overload; inline;
|
||||
function AsTag(Value: integer): PtrUInt; overload; inline;
|
||||
|
||||
implementation
|
||||
|
||||
function AllocNamedObject(const Name: STRPTR; const Tags: array of PtrUInt): PNamedObject; inline;
|
||||
@ -280,4 +290,50 @@ begin
|
||||
CALLHOOKPKT_ := FuncPtr(Hook, Object_, Message);
|
||||
end;
|
||||
|
||||
function TAG_(Value: pointer): PtrUInt; inline;
|
||||
begin
|
||||
TAG_ := PtrUInt(Value);
|
||||
end;
|
||||
|
||||
function TAG_(value: pchar): PtrUInt; inline;
|
||||
begin
|
||||
TAG_ := PtrUInt(Value);
|
||||
end;
|
||||
|
||||
function TAG_(value: boolean): PtrUInt; inline;
|
||||
begin
|
||||
if Value then
|
||||
TAG_ := LTrue
|
||||
else
|
||||
TAG_ := LFalse;
|
||||
end;
|
||||
|
||||
function TAG_(Value: Integer): PtrUInt; inline;
|
||||
begin
|
||||
TAG_ := PtrUInt(Value);
|
||||
end;
|
||||
|
||||
function AsTag(Value: pointer): PtrUInt; inline;
|
||||
begin
|
||||
AsTag := PtrUInt(Value);
|
||||
end;
|
||||
|
||||
function AsTag(value: pchar): PtrUInt; inline;
|
||||
begin
|
||||
AsTag := PtrUInt(Value);
|
||||
end;
|
||||
|
||||
function AsTag(value: boolean): PtrUInt; inline;
|
||||
begin
|
||||
if Value then
|
||||
AsTag := LTrue
|
||||
else
|
||||
AsTag := LFalse;
|
||||
end;
|
||||
|
||||
function AsTag(Value: Integer): PtrUInt; inline;
|
||||
begin
|
||||
AsTag := PtrUInt(Value);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -347,9 +347,15 @@ function GetUniqueID: Cardinal;
|
||||
SysCall MOS_UtilityBase 270;
|
||||
|
||||
|
||||
function TAG_(value: pointer): longword; inline;
|
||||
function TAG_(value: pchar): longword; inline;
|
||||
function TAG_(value: pointer): longword; overload; inline;
|
||||
function TAG_(value: pchar): longword; overload; inline;
|
||||
function TAG_(value: boolean): longword; overload; inline;
|
||||
function TAG_(value: integer): longword; overload; inline;
|
||||
|
||||
function AsTag(value: pointer): longword; overload; inline;
|
||||
function AsTag(value: pchar): longword; overload; inline;
|
||||
function AsTag(value: boolean): longword; overload; inline;
|
||||
function AsTag(value: integer): longword; overload; inline;
|
||||
|
||||
implementation
|
||||
|
||||
@ -363,6 +369,41 @@ begin
|
||||
TAG_:=longword(value);
|
||||
end;
|
||||
|
||||
function TAG_(value: boolean): longword; inline;
|
||||
begin
|
||||
if value then
|
||||
TAG_ := LTrue
|
||||
else
|
||||
TAG_ := LFalse;
|
||||
end;
|
||||
|
||||
function TAG_(value: integer): longword; inline;
|
||||
begin
|
||||
TAG_:=longword(value);
|
||||
end;
|
||||
|
||||
function AsTag(value: pointer): longword; inline;
|
||||
begin
|
||||
AsTag:=longword(value);
|
||||
end;
|
||||
|
||||
function AsTag(value: pchar): longword; inline;
|
||||
begin
|
||||
AsTag:=longword(value);
|
||||
end;
|
||||
|
||||
function AsTag(value: boolean): longword; inline;
|
||||
begin
|
||||
if value then
|
||||
AsTag := LTrue
|
||||
else
|
||||
AsTag := LFalse;
|
||||
end;
|
||||
|
||||
function AsTag(value: integer): longword; inline;
|
||||
begin
|
||||
AsTag:=longword(value);
|
||||
end;
|
||||
|
||||
begin
|
||||
UtilityBase:=MOS_UtilityBase;
|
||||
|
Loading…
Reference in New Issue
Block a user