Module: wine Branch: master Commit: bb223b789b02ef9dda2a57a92d4d5bdd607f00c1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb223b789b02ef9dda2a57a92d...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Sep 24 22:36:45 2009 +0200
winedump: Ordinal functions can be forwards too.
---
tools/winedump/pe.c | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c index 5ff8a16..077109d 100644 --- a/tools/winedump/pe.c +++ b/tools/winedump/pe.c @@ -492,9 +492,7 @@ static void dump_dir_exported_functions(void) pFunc = RVA(exportDir->AddressOfFunctions, exportDir->NumberOfFunctions * sizeof(DWORD)); if (!pFunc) {printf("Can't grab functions' address table\n"); return;} pName = RVA(exportDir->AddressOfNames, exportDir->NumberOfNames * sizeof(DWORD)); - if (!pName) {printf("Can't grab functions' name table\n"); return;} pOrdl = RVA(exportDir->AddressOfNameOrdinals, exportDir->NumberOfNames * sizeof(WORD)); - if (!pOrdl) {printf("Can't grab functions' ordinal table\n"); return;}
funcs = calloc( exportDir->NumberOfFunctions, sizeof(*funcs) ); if (!funcs) fatal("no memory"); @@ -506,15 +504,15 @@ static void dump_dir_exported_functions(void) if (!pFunc[i]) continue; printf(" %08X %5u ", pFunc[i], exportDir->Base + i); if (funcs[i]) - { printf("%s", get_symbol_str((const char*)RVA(funcs[i], sizeof(DWORD)))); - /* check for forwarded function */ - if ((const char *)RVA(pFunc[i],1) >= (const char *)exportDir && - (const char *)RVA(pFunc[i],1) < (const char *)exportDir + size) - printf(" (-> %s)", (const char *)RVA(pFunc[i],1)); - printf("\n"); - } - else printf("<by ordinal>\n"); + else + printf("<by ordinal>"); + + /* check for forwarded function */ + if ((const char *)RVA(pFunc[i],1) >= (const char *)exportDir && + (const char *)RVA(pFunc[i],1) < (const char *)exportDir + size) + printf(" (-> %s)", (const char *)RVA(pFunc[i],1)); + printf("\n"); } free(funcs); printf("\n");