From 2e1ac56d1c43f595cbc913005edf3b391322bc38 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 10 May 2014 14:12:20 +0000 Subject: [PATCH] [SPEC2DEF] Improve the previous fix. svn path=/trunk/; revision=63218 --- reactos/tools/spec2def/spec2def.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/reactos/tools/spec2def/spec2def.c b/reactos/tools/spec2def/spec2def.c index de427f06e19..5a5b5fc94aa 100644 --- a/reactos/tools/spec2def/spec2def.c +++ b/reactos/tools/spec2def/spec2def.c @@ -325,7 +325,22 @@ PrintName(FILE *fileDest, EXPORT *pexp, PSTRING pstr, int fDeco) int nNameLength = pstr->len; const char* pcDot, *pcAt; - if ((giArch == ARCH_X86) && fDeco && + /* Check for non-x86 first */ + if (giArch != ARCH_X86) + { + /* Does the string already have stdcall decoration? */ + pcAt = ScanToken(pcName, '@'); + if ((pcAt < (pcName + nNameLength)) && (pcName[0] == '_')) + { + /* Skip leading underscore and remove trailing decoration */ + pcName++; + nNameLength = pcAt - pcName; + } + + /* Print the undecorated function name */ + fprintf(fileDest, "%.*s", nNameLength, pcName); + } + else if (fDeco && ((pexp->nCallingConvention == CC_STDCALL) || (pexp->nCallingConvention == CC_FASTCALL))) { @@ -370,15 +385,6 @@ PrintName(FILE *fileDest, EXPORT *pexp, PSTRING pstr, int fDeco) } else { - /* Does the string already have stdcall decoration? */ - pcAt = ScanToken(pcName, '@'); - if (pcAt && (pcAt < (pcName + nNameLength)) && pcName[0] == '_') - { - /* Skip leading underscore and remove trailing decoration */ - pcName++; - nNameLength = pcAt - pcName; - } - /* Print the undecorated function name */ fprintf(fileDest, "%.*s", nNameLength, pcName); } -- 2.17.1