[rtems commit] PR 2012 - mdump/ wdump shell cmds handle length arg incorrectly; add ldump cmd

Joel Sherrill joel at rtems.org
Thu Feb 2 21:00:32 UTC 2012


Module:    rtems
Branch:    4.10
Commit:    5de3d254e929a08e6714dc694de095d1b4abb44b
Changeset: http://git.rtems.org/rtems/commit/?id=5de3d254e929a08e6714dc694de095d1b4abb44b

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Thu Feb  2 14:58:33 2012 -0600

PR 2012 - mdump/wdump shell cmds handle length arg incorrectly; add ldump cmd

	* libmisc/shell/main_mdump.c: Reworked to fix bugs in handling of the
	length argument and to provide an "ldump" command.  This file now also
	supports the "wdump" command.  In addition, an RTEMS API function called
	rtems_mdump() is provided to allow easy dumping from application code.
	* libmisc/shell/main_mwdump.c: Obsolete file.
	* libmisc/Makefile.am: Removed main_mwdump.c
	* libmisc/shell/shellconfig.h: Added "ldump" command.
	* shell/memory.t: Added documentation for the "ldump" command

Signed-off-by: Ric Claus <claus at SLAC.Stanford.edu>

---

 cpukit/libmisc/shell/main_mwdump.c |   95 ------------------------------------
 1 files changed, 0 insertions(+), 95 deletions(-)

diff --git a/cpukit/libmisc/shell/main_mwdump.c b/cpukit/libmisc/shell/main_mwdump.c
deleted file mode 100644
index f3e3cfc..0000000
--- a/cpukit/libmisc/shell/main_mwdump.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- *  MWDUMP Shell Command Implmentation
- *
- *  Author: Fernando RUIZ CASAS
- *  Work: fernando.ruiz at ctv.es
- *  Home: correo at fernando-ruiz.com
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include <rtems.h>
-#include <rtems/shell.h>
-#include <rtems/stringto.h>
-#include "internal.h"
-
-int rtems_shell_main_mwdump(
-  int   argc,
-  char *argv[]
-)
-{
-  unsigned char  n;
-  unsigned char  m;
-  int            max;
-  int            res;
-  void          *addr = 0;
-  unsigned char *pb;
-
-  if ( argc > 1 ) {
-    if ( rtems_string_to_pointer(argv[1], &addr, NULL) ) {
-      printf( "Address argument (%s) is not a number\n", argv[1] );
-      return -1;
-    }
-  }
-
-  if ( argc > 2 ) {
-    if ( rtems_string_to_int(argv[2], &max, NULL, 0) ) {
-      printf( "Address argument (%s) is not a number\n", argv[1] );
-      return -1;
-    }
-
-    if (max <= 0) {
-      max = 1;      /* print 1 item if 0 or neg. */
-      res = 0;
-    } else {
-      max--;
-      res = max & 0xf;/* num bytes in last row */
-      max >>= 4;      /* div by 16 */
-      max++;          /* num of rows to print */
-      if (max > 20) { /* limit to 20 */
-        max = 20;
-        res = 0xf;    /* 16 bytes print in last row */
-      }
-    }
-  } else {
-    max = 20;
-    res = 0xf;
-  }
-
-  pb = addr;
-  for (m=0;m<max;m++) {
-    printf("%10p ", pb);
-    for (n=0;n<=(m==(max-1)?res:0xf);n+=2)
-      printf("%04X%c",*((unsigned short*)(pb+n)),n==6?'-':' ');
-    for (;n<=0xf;n+=2)
-      printf("    %c", n==6?'-':' ');
-    for (n=0;n<=(m==(max-1)?res:0xf);n++) {
-      printf("%c", isprint(pb[n]) ? pb[n] : '.');
-    }
-    printf("\n");
-    pb += 16;
-  }
-  return 0;
-}
-
-rtems_shell_cmd_t rtems_shell_WDUMP_Command = {
-  "wdump",                                      /* name */
-  "wdump [address [length]]",                   /* usage */
-  "mem",                                        /* topic */
-  rtems_shell_main_mwdump,                      /* command */
-  NULL,                                         /* alias */
-  NULL                                          /* next */
-};




More information about the vc mailing list