mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 05:49:19 +00:00
77 lines
2.3 KiB
OpenEdge ABL
77 lines
2.3 KiB
OpenEdge ABL
|
{
|
||
|
Created: Wednesday, July 16, 1991 at 2:05 PM
|
||
|
Unmangler.p
|
||
|
Pascal Interface to the Macintosh Libraries
|
||
|
|
||
|
Copyright Apple Computer, Inc. 1988-1991
|
||
|
All rights reserved
|
||
|
This file is used in these builds: ROM System
|
||
|
|
||
|
Change History (most recent first):
|
||
|
|
||
|
<2> 8/8/91 JL Standardized header and Inclusion conditionals. Updated
|
||
|
copyright
|
||
|
|
||
|
To Do:
|
||
|
}
|
||
|
|
||
|
|
||
|
{$IFC UNDEFINED UsingIncludes}
|
||
|
{$SETC UsingIncludes := 0}
|
||
|
{$ENDC}
|
||
|
|
||
|
{$IFC NOT UsingIncludes}
|
||
|
UNIT Unmangler;
|
||
|
INTERFACE
|
||
|
{$ENDC}
|
||
|
|
||
|
{$IFC UNDEFINED UsingUnmangler}
|
||
|
{$SETC UsingUnmangler := 1}
|
||
|
|
||
|
{$I+}
|
||
|
{$SETC UnmanglerIncludes := UsingIncludes}
|
||
|
{$SETC UsingIncludes := 1}
|
||
|
{$IFC UNDEFINED UsingTypes}
|
||
|
{$I $$Shell(PInterfaces)Types.p}
|
||
|
{$ENDC}
|
||
|
{$SETC UsingIncludes := UnmanglerIncludes}
|
||
|
|
||
|
(*
|
||
|
FUNCTION unmangle(dst: UNIV Ptr; src: UNIV Ptr; limit: LongInt): LongInt; C;
|
||
|
{This function unmangles C++ mangled symbols (i.e. a symbol with a type signature).
|
||
|
The mangled C string is passed in “src” and the unmangled C string is returned in
|
||
|
“dst”. Up to “limit” characters (not including terminating null) may be retured
|
||
|
in “dst”.
|
||
|
|
||
|
The function returns,
|
||
|
|
||
|
-1 ==> error, probably because symbol was not mangled, but looked like it was
|
||
|
0 ==> symbol wasn't mangled; not copied either
|
||
|
1 ==> symbol was mangled; unmangled result fit in buffer
|
||
|
2 ==> symbol was mangled; unmangled result truncated to fit in buffer}
|
||
|
*)
|
||
|
|
||
|
FUNCTION Unmangle(dst: UNIV StringPtr; src: UNIV StringPtr; limit: LongInt): LongInt;
|
||
|
{This function unmangles C++ mangled symbols (i.e. a symbol with a type signature).
|
||
|
The mangled Pascal string is passed in “src” and the unmangled Pascal string is
|
||
|
returned in “dst”. Up to “limit” characters may be retured in “dst”.
|
||
|
|
||
|
The function returns,
|
||
|
|
||
|
-1 ==> error, probably because symbol was not mangled, but looked like it was
|
||
|
0 ==> symbol wasn't mangled; not copied either
|
||
|
1 ==> symbol was mangled; unmangled result fit in buffer
|
||
|
2 ==> symbol was mangled; unmangled result truncated to fit in buffer
|
||
|
|
||
|
This function is identical to unmangle() above except that all the strings are
|
||
|
Pascal instead of C strings.
|
||
|
}
|
||
|
|
||
|
|
||
|
{$ENDC} { UsingUnmangler }
|
||
|
|
||
|
{$IFC NOT UsingIncludes}
|
||
|
END.
|
||
|
{$ENDC}
|
||
|
|