74 lines
1.3 KiB
C
74 lines
1.3 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1992 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
undname.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This is the main source file for the UNDNAME utility program.
|
||
|
This is a simple command line utility for undecorating C++ symbol
|
||
|
names.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Weslwy Witt (wesw) 09-June-1993
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include <private.h>
|
||
|
#include <ntverp.h>
|
||
|
#include <common.ver>
|
||
|
|
||
|
|
||
|
void
|
||
|
Usage( void )
|
||
|
{
|
||
|
fprintf( stderr,
|
||
|
"usage: UNDNAME [-f] decorated-names...\n"
|
||
|
" -f Undecorate fully. Default is to only undecorate the class::member\n");
|
||
|
exit( 1 );
|
||
|
}
|
||
|
|
||
|
int _CRTAPI1
|
||
|
main(
|
||
|
int argc,
|
||
|
char *argv[],
|
||
|
char *envp[]
|
||
|
)
|
||
|
{
|
||
|
char UnDecoratedName[4000];
|
||
|
DWORD Flags;
|
||
|
|
||
|
fputs(VER_PRODUCTNAME_STR "\nUNDNAME Version " VER_PRODUCTVERSION_STR, stderr );
|
||
|
fputs(VER_LEGALCOPYRIGHT_STR "\n\n", stderr);
|
||
|
|
||
|
if (argc <= 1) {
|
||
|
Usage();
|
||
|
}
|
||
|
|
||
|
if ((argv[1][0] == '-') && (argv[1][1] == 'f')) {
|
||
|
Flags = UNDNAME_COMPLETE;
|
||
|
argc--;
|
||
|
argv++;
|
||
|
} else {
|
||
|
Flags = UNDNAME_NAME_ONLY;
|
||
|
}
|
||
|
|
||
|
if (argc <= 1) {
|
||
|
Usage();
|
||
|
}
|
||
|
|
||
|
while (--argc) {
|
||
|
UnDecorateSymbolName( *++argv, UnDecoratedName, sizeof(UnDecoratedName), Flags );
|
||
|
printf( ">> %s == %s\n", *argv, UnDecoratedName );
|
||
|
}
|
||
|
|
||
|
exit( 0 );
|
||
|
return 0;
|
||
|
}
|