From f19887971ac03d1f41039e800e2a86a9bbb1f2d3 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Fri, 21 Sep 2001 21:03:53 +0000 Subject: [PATCH] Some dumb fixes. --- tools/winedump/debug.c | 4 ++-- tools/winedump/main.c | 2 +- tools/winedump/msmangle.c | 2 +- tools/winedump/pe.c | 15 ++++++++------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/tools/winedump/debug.c b/tools/winedump/debug.c index c82140b6f2e..45254461819 100644 --- a/tools/winedump/debug.c +++ b/tools/winedump/debug.c @@ -320,7 +320,7 @@ static int dump_cv_sst_align_sym(OMFDirEntry* omfde) static void dump_codeview_all_modules(OMFDirHeader *omfdh) { - int i; + unsigned i; OMFDirEntry *dirEntry; const char* str; @@ -376,7 +376,7 @@ static void dump_codeview_headers(unsigned long base, unsigned long len) OMFDirHeader *dirHeader; OMFSignature *signature; OMFDirEntry *dirEntry; - int i; + unsigned i; int modulecount = 0, alignsymcount = 0, srcmodulecount = 0, librariescount = 0; int globalsymcount = 0, globalpubcount = 0, globaltypescount = 0; int segmapcount = 0, fileindexcount = 0, staticsymcount = 0; diff --git a/tools/winedump/main.c b/tools/winedump/main.c index 4d09f2fb754..0127bec4b8d 100644 --- a/tools/winedump/main.c +++ b/tools/winedump/main.c @@ -273,7 +273,7 @@ int main (int argc, char *argv[]) VERBOSE = 1; symbol_init (&symbol, globals.input_name); - if (symbol_demangle (&symbol) == -1); + if (symbol_demangle (&symbol) == -1) fatal( "Symbol hasn't got a mangled name\n"); if (symbol.flags & SYM_DATA) printf (symbol.arg_text[0]); diff --git a/tools/winedump/msmangle.c b/tools/winedump/msmangle.c index 0864514b04c..64f58f0d18e 100644 --- a/tools/winedump/msmangle.c +++ b/tools/winedump/msmangle.c @@ -487,7 +487,7 @@ static char *demangle_datatype (char **str, compound_type *ct, /* FIXME: P6 = Function pointer, others who knows.. */ if (isdigit (*iter)) { - if (*iter == 6) printf("Function pointer in argument list is not handled yet\n"); + if (*iter == '6') printf("Function pointer in argument list is not handled yet\n"); return NULL; } diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c index 0b0bee26764..b98b4c878aa 100644 --- a/tools/winedump/pe.c +++ b/tools/winedump/pe.c @@ -18,7 +18,7 @@ #include "pe.h" static void* base; -static long total_len; +static unsigned long total_len; static IMAGE_NT_HEADERS* nt_headers; enum FileSig {SIG_UNKNOWN, SIG_DOS, SIG_PE, SIG_DBG}; @@ -114,7 +114,7 @@ static void dump_pe_header(void) char *str; IMAGE_FILE_HEADER *fileHeader; IMAGE_OPTIONAL_HEADER *optionalHeader; - int i; + unsigned i; printf("File Header\n"); fileHeader = &nt_headers->FileHeader; @@ -220,7 +220,7 @@ static void dump_pe_header(void) static void dump_sections(void* addr, unsigned num_sect) { IMAGE_SECTION_HEADER* sectHead = addr; - int i; + unsigned i; printf("Section Table\n"); for (i = 0; i < num_sect; i++, sectHead++) @@ -655,14 +655,15 @@ int pe_analysis(const char* name, void (*fn)(void), enum FileSig wanted_sig) int fd; enum FileSig effective_sig; int ret = 1; - + struct stat s; + setbuf(stdout, NULL); fd = open(name, O_RDONLY); if (fd == -1) fatal("Can't open file"); - total_len = lseek(fd, 0, SEEK_END); - if (total_len < 0) fatal("Can't get size"); + if (fstat(fd, &s) < 0) fatal("Can't get size"); + total_len = s.st_size; base = mmap(NULL, total_len, PROT_READ, MAP_PRIVATE, fd, 0); if (base == (void*)-1) fatal("Can't map file"); @@ -682,7 +683,7 @@ int pe_analysis(const char* name, void (*fn)(void), enum FileSig wanted_sig) ret = 0; break; case SIG_PE: printf("Contents of \"%s\": %ld bytes\n\n", name, total_len); - do_dump(); + (*fn)(); break; case SIG_DBG: dump_separate_dbg();