mirror of
https://github.com/elliotnunn/BuildCubeE.git
synced 2024-11-19 00:05:25 +00:00
58 lines
2.3 KiB
C
58 lines
2.3 KiB
C
|
/*---------------------------------------------------------------------------*
|
||
|
| |
|
||
|
| <<< Unmangler.h >>> |
|
||
|
| |
|
||
|
| C++ Function Name Decoding |
|
||
|
| |
|
||
|
| Copyright Apple Computer, Inc. 1988-1991 |
|
||
|
| All rights reserved. |
|
||
|
| |
|
||
|
*---------------------------------------------------------------------------*/
|
||
|
|
||
|
#ifndef __UNMANGLER__
|
||
|
#define __UNMANGLER__
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
int unmangle(char *dst, char *src, int limit);
|
||
|
/*
|
||
|
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 (null written)
|
||
|
|
||
|
Caution: the src and dst string must not overlap!
|
||
|
*/
|
||
|
|
||
|
|
||
|
pascal int Unmangle(char *dst, char *src, int limit);
|
||
|
/*
|
||
|
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 (null written)
|
||
|
|
||
|
This function is identical to unmangle() above except that all the strings are Pascal
|
||
|
instead of C strings.
|
||
|
|
||
|
Caution: the src and dst string must not overlap!
|
||
|
*/
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#endif
|