X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fsysdump.c;h=0b0d49524ffd14b695ac0e7c205b7d237d733dc4;hb=c2274b2767dba3175e585bd17f9f4a93b56cdc63;hp=65d2ca676bd127b01298c0075d8d7ef295d25700;hpb=8c2bc6877d75f8cd9073f206fab29920f73d325c;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/sysdump.c b/binutils/sysdump.c index 65d2ca676b..0b0d49524f 100644 --- a/binutils/sysdump.c +++ b/binutils/sysdump.c @@ -1,5 +1,5 @@ /* Sysroff object format dumper. - Copyright 1994, 1995, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1994, 1995, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -26,21 +26,43 @@ #include "bfd.h" #include "bucomm.h" +#include "safe-ctype.h" #include -#include #include #include #include "sysroff.h" -#define PROGRAM_VERSION "1.0" - static int dump = 1; static int segmented_p; static int code; static int addrsize = 4; static FILE *file; +static void dh PARAMS ((unsigned char *, int)); +static void itheader PARAMS ((char *, int)); +static void p PARAMS ((void)); +static void tabout PARAMS ((void)); +static void pbarray PARAMS ((barray *)); +static int getone PARAMS ((int)); +static int opt PARAMS ((int)); +static void must PARAMS ((int)); +static void tab PARAMS ((int, char *)); +static void dump_symbol_info PARAMS ((void)); +static void derived_type PARAMS ((void)); +static void module PARAMS ((void)); +static void show_usage PARAMS ((FILE *, int)); +static void show_help PARAMS ((void)); + +extern char *getCHARS PARAMS ((unsigned char *, int *, int, int)); +extern int fillup PARAMS ((char *)); +extern barray getBARRAY PARAMS ((unsigned char *, int *, int, int)); +extern int getINT PARAMS ((unsigned char *, int *, int, int)); +extern int getBITS PARAMS ((char *, int *, int, int)); +extern void sysroff_swap_tr_in PARAMS ((void)); +extern void sysroff_print_tr_out PARAMS ((void)); +extern int main PARAMS ((int, char **)); + char * getCHARS (ptr, idx, size, max) unsigned char *ptr; @@ -236,7 +258,8 @@ pbarray (y) printf ("%d (", y->len); for (x = 0; x < y->len; x++) { - printf ("(%02x %c)", y->data[x], isprint (y->data[x]) ? y->data[x] : '.'); + printf ("(%02x %c)", y->data[x], + ISPRINT (y->data[x]) ? y->data[x] : '.'); } printf (")\n"); } @@ -548,8 +571,6 @@ tab (i, s) } } -static void derived_type (); - static void dump_symbol_info () { @@ -737,6 +758,9 @@ main (ac, av) #if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES) setlocale (LC_MESSAGES, ""); +#endif +#if defined (HAVE_SETLOCALE) + setlocale (LC_CTYPE, ""); #endif bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); @@ -752,7 +776,7 @@ main (ac, av) show_help (); /*NOTREACHED*/ case 'V': - printf (_("GNU %s version %s\n"), program_name, PROGRAM_VERSION); + print_version ("sysdump"); exit (0); /*NOTREACHED*/ case 0: