diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-02-27 21:52:16 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-02-27 21:52:16 +0000 |
commit | dfe0e5833a279b70e077a1b0b36e9903f1dc6d13 (patch) | |
tree | dbb2538052be1d504e42ab4e99438f09bd6f7765 /cpukit/libmisc/shell/main_mwdump.c | |
parent | 2008-02-27 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-dfe0e5833a279b70e077a1b0b36e9903f1dc6d13.tar.bz2 |
2008-02-27 Joel Sherrill <joel.sherrill@oarcorp.com>
* libmisc/shell/cat_file.c, libmisc/shell/main_alias.c,
libmisc/shell/main_blksync.c, libmisc/shell/main_cat.c,
libmisc/shell/main_chdir.c, libmisc/shell/main_chmod.c,
libmisc/shell/main_chroot.c, libmisc/shell/main_cpuuse.c,
libmisc/shell/main_date.c, libmisc/shell/main_help.c,
libmisc/shell/main_id.c, libmisc/shell/main_logoff.c,
libmisc/shell/main_ls.c, libmisc/shell/main_mallocinfo.c,
libmisc/shell/main_mdump.c, libmisc/shell/main_medit.c,
libmisc/shell/main_mfill.c, libmisc/shell/main_mkdir.c,
libmisc/shell/main_mmove.c, libmisc/shell/main_mount.c,
libmisc/shell/main_mount_nfs.c, libmisc/shell/main_msdosfmt.c,
libmisc/shell/main_mwdump.c, libmisc/shell/main_perioduse.c,
libmisc/shell/main_pwd.c, libmisc/shell/main_rm.c,
libmisc/shell/main_rmdir.c, libmisc/shell/main_stackuse.c,
libmisc/shell/main_tty.c, libmisc/shell/main_umask.c,
libmisc/shell/main_unmount.c, libmisc/shell/main_whoami.c,
libmisc/shell/shell.h: Clean up done while writing documentation.
Some command improvements such as date now allows setting of the
current TOD. Often commands did not use stdout/stderr per
expectations and did not return -1 on an error.
Diffstat (limited to 'cpukit/libmisc/shell/main_mwdump.c')
-rw-r--r-- | cpukit/libmisc/shell/main_mwdump.c | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/cpukit/libmisc/shell/main_mwdump.c b/cpukit/libmisc/shell/main_mwdump.c index 9cdc9cff76..fda0a780c7 100644 --- a/cpukit/libmisc/shell/main_mwdump.c +++ b/cpukit/libmisc/shell/main_mwdump.c @@ -19,45 +19,51 @@ #include <ctype.h> #include <stdio.h> #include <string.h> +#include <inttypes.h> #include <rtems.h> #include <rtems/shell.h> #include "internal.h" -int rtems_shell_main_mwdump(int argc,char * argv[]) { - unsigned char n,m,max=0; - int addr=rtems_current_shell_env->mdump_addr; - unsigned short * pw; +int rtems_shell_main_mwdump( + int argc, + char *argv[] +) +{ + unsigned char n, m, max=20; + uintptr_t addr=0; + unsigned short *pw; + unsigned char *p; if (argc>1) addr = rtems_shell_str2int(argv[1]); - if (argc>2) - max = rtems_shell_str2int(argv[2]); - max /= 16; + if (argc>2) { + max = rtems_shell_str2int(argv[2]); + max /= 16; + } if (!max) - max = 20; + max = 1; for (m=0;m<max;m++) { - fprintf(stdout,"0x%08X ",addr); + printf("0x%08" PRIXPTR " ",addr); + p = (unsigned char *) addr; pw = (unsigned short*) addr; for (n=0;n<8;n++) - fprintf(stdout,"%02X %02X%c",pw[n]/0x100,pw[n]%0x100,n==3?'-':' '); - for (n=0;n<8;n++) { - fprintf(stdout,"%c",isprint(pw[n]/0x100)?pw[n]/0x100:'.'); - fprintf(stdout,"%c",isprint(pw[n]%0x100)?pw[n]%0x100:'.'); + printf("%04X%c",pw[n],n==3?'-':' '); + for (n=0;n<16;n++) { + printf("%c",isprint(p[n])?p[n]:'.'); } - fprintf(stdout,"\n"); + printf("\n"); addr += 16; } - rtems_current_shell_env->mdump_addr = addr; return 0; } rtems_shell_cmd_t rtems_shell_WDUMP_Command = { "wdump", /* name */ - "wdump [addr [size]]", /* usage */ + "wdump [address [length]]", /* usage */ "mem", /* topic */ rtems_shell_main_mwdump, /* command */ NULL, /* alias */ |