From 1fcb0c1118f973a773103864be22ee816eb76843 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Fri, 5 Jan 2007 21:42:26 +0100 Subject: [PATCH] winedump: While dumping NE files, use -j option if present (as we do for PE files). --- tools/winedump/main.c | 1 + tools/winedump/ne.c | 20 +++++++++++++++----- tools/winedump/winedump.man.in | 18 ++++++++++-------- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/tools/winedump/main.c b/tools/winedump/main.c index a760ee62290..93cd074db04 100644 --- a/tools/winedump/main.c +++ b/tools/winedump/main.c @@ -398,6 +398,7 @@ int main (int argc, char *argv[]) globals.mode = NONE; globals.forward_dll = NULL; globals.input_name = NULL; + globals.dumpsect = NULL; parse_options (argv); diff --git a/tools/winedump/ne.c b/tools/winedump/ne.c index a9f7dc2fd06..9328ccfec63 100644 --- a/tools/winedump/ne.c +++ b/tools/winedump/ne.c @@ -384,9 +384,19 @@ void ne_dump( void ) if (!dos) return; ne = PRD(dos->e_lfanew, sizeof(*ne)); - dump_ne_header( ne ); - dump_ne_names( ne ); - dump_ne_resources( ne ); - dump_ne_exports( ne ); - for (i = 1; i <= ne->ne_cseg; i++) dump_ne_segment( ne, i ); + if (globals.do_dumpheader || !globals.dumpsect) + dump_ne_header( ne ); + if (globals.do_dumpheader) + dump_ne_names( ne ); + if (globals.dumpsect) + { + BOOL all = strcmp(globals.dumpsect, "ALL") == 0; + + if (all || !strcmp(globals.dumpsect, "resource")) + dump_ne_resources( ne ); + if (all || !strcmp(globals.dumpsect, "export")) + dump_ne_exports( ne ); + } + if (globals.do_dumpheader) + for (i = 1; i <= ne->ne_cseg; i++) dump_ne_segment( ne, i ); } diff --git a/tools/winedump/winedump.man.in b/tools/winedump/winedump.man.in index 5a05c438f7a..fcc596d52bd 100644 --- a/tools/winedump/winedump.man.in +++ b/tools/winedump/winedump.man.in @@ -70,17 +70,19 @@ Turns on symbol demangling. Dumps file header information. This option dumps only the standard PE header structures, along with the COFF sections available in the file. -.IP "\fB-j \fIsect_name\fR" -Dumps only the content of section sect_name (import, -export, debug, resource, tls, clr). -To dump only a given directory, specify them using this -option. Currently the import, export, debug, resource, +.IP "\fB-j \fIdir_name\fR" +Dumps only the content of directory \fIdir_name\fR, for files +which header points to directories. +For PE files, currently the import, export, debug, resource, tls and clr directories are implemented. +For NE files, currently the export and resource directories are +implemented. .IP \fB-x\fR Dumps everything. -This command prints all available information about the -file. You may wish to pipe the output through more/less or -into a file, since a lot of output will be produced. +This command prints all available information (including all +available directories - see \fB-j\fR option) about the file. You may +wish to pipe the output through more/less or into a file, since +a lot of output will be produced. .IP \fB-G\fR Dumps contents of debug section if any (for now, only stabs information is supported).