This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] Cleanup mi_cmd_data_write_register_values


The next victim in my vendetta agains deprecated_xxx.  Looks like this
function pretty was pretty much rolling its own
regcache_cooked_write_signed(), so why not use that?

ok?

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* mi/mi-main.c (mi_cmd_data_write_register_values): Use
	regcache_cooked_write_signed instead of
	deprecated_write_register_bytes.

Index: mi/mi-main.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-main.c,v
retrieving revision 1.86
diff -u -p -r1.86 mi-main.c
--- mi/mi-main.c 17 Nov 2006 19:30:41 -0000 1.86
+++ mi/mi-main.c 1 Jan 2007 01:42:23 -0000
@@ -545,10 +545,7 @@ get_register (int regnum, int format)
 enum mi_cmd_result
 mi_cmd_data_write_register_values (char *command, char **argv, int argc)
 {
-  int regnum;
-  int i;
-  int numregs;
-  LONGEST value;
+  int numregs, i;
   char format;
 
   /* Note that the test for a valid register must include checking the
@@ -587,26 +584,18 @@ mi_cmd_data_write_register_values (char 
 
   for (i = 1; i < argc; i = i + 2)
     {
-      regnum = atoi (argv[i]);
+      int regnum = atoi (argv[i]);
 
-      if (regnum >= 0
-	  && regnum < numregs
-	  && REGISTER_NAME (regnum) != NULL
-	  && *REGISTER_NAME (regnum) != '\000')
+      if (regnum >= 0 && regnum < numregs
+	  && REGISTER_NAME (regnum)  && *REGISTER_NAME (regnum))
 	{
-	  void *buffer;
-	  struct cleanup *old_chain;
+	  LONGEST value;
 
-	  /* Get the value as a number */
+	  /* Get the value as a number.  */
 	  value = parse_and_eval_address (argv[i + 1]);
-	  /* Get the value into an array */
-	  buffer = xmalloc (DEPRECATED_REGISTER_SIZE);
-	  old_chain = make_cleanup (xfree, buffer);
-	  store_signed_integer (buffer, DEPRECATED_REGISTER_SIZE, value);
+
 	  /* Write it down */
-	  deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (regnum), buffer, register_size (current_gdbarch, regnum));
-	  /* Free the buffer.  */
-	  do_cleanups (old_chain);
+	  regcache_cooked_write_signed (current_regcache, regnum, value);
 	}
       else
 	{


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]