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)))
{
}
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);
}