Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: gdb-patches@sourceware.org
Subject: [COMMIT PATCH 2/2] Move savestring to common/common-utils.c, make gdbserver use it.
Date: Thu, 14 Feb 2013 17:14:00 -0000	[thread overview]
Message-ID: <20130214171411.2223.32326.stgit@brno.lan> (raw)
In-Reply-To: <20130214171404.2223.83713.stgit@brno.lan>

This makes gdbserver share gdb's savestring, instead of baking its own.

Tested on x86_64 Fedora 17.

gdb/
2013-02-14  Pedro Alves  <palves@redhat.com>

	* utils.c (savestring): Don't #undef it.  Move function to
	common/common-utils.c.
	* common/common-utils.c: Include gdb_string.h.
	(savestring): Move here from utils.c.
	* common/common-utils.h (savestring): Declare.

gdb/gdbserver/
2013-02-14  Pedro Alves  <palves@redhat.com>

	* tracepoint.c (save_string): Delete.
	(add_tracepoint_action): Use savestring instead of save_string.
---
 gdb/common/common-utils.c  |   11 +++++++++++
 gdb/common/common-utils.h  |    6 ++++++
 gdb/gdbserver/tracepoint.c |   16 ++--------------
 gdb/utils.c                |   17 -----------------
 4 files changed, 19 insertions(+), 31 deletions(-)

diff --git a/gdb/common/common-utils.c b/gdb/common/common-utils.c
index 60093a4..4204abf 100644
--- a/gdb/common/common-utils.c
+++ b/gdb/common/common-utils.c
@@ -24,6 +24,7 @@
 #endif
 
 #include "gdb_assert.h"
+#include "gdb_string.h"
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -150,3 +151,13 @@ xsnprintf (char *str, size_t size, const char *format, ...)
 
   return ret;
 }
+
+char *
+savestring (const char *ptr, size_t len)
+{
+  char *p = (char *) xmalloc (len + 1);
+
+  memcpy (p, ptr, len);
+  p[len] = 0;
+  return p;
+}
diff --git a/gdb/common/common-utils.h b/gdb/common/common-utils.h
index 2abc6d1..9b659d8 100644
--- a/gdb/common/common-utils.h
+++ b/gdb/common/common-utils.h
@@ -47,4 +47,10 @@ char *xstrvprintf (const char *format, va_list ap)
 int xsnprintf (char *str, size_t size, const char *format, ...)
      ATTRIBUTE_PRINTF (3, 4);
 
+/* Make a copy of the string at PTR with LEN characters
+   (and add a null character at the end in the copy).
+   Uses malloc to get the space.  Returns the address of the copy.  */
+
+char *savestring (const char *ptr, size_t len);
+
 #endif
diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 51b6a0c..0ffedaa 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -1896,18 +1896,6 @@ find_next_tracepoint_by_number (struct tracepoint *prev_tp, int num)
 
 #endif
 
-static char *
-save_string (const char *str, size_t len)
-{
-  char *s;
-
-  s = xmalloc (len + 1);
-  memcpy (s, str, len);
-  s[len] = '\0';
-
-  return s;
-}
-
 /* Append another action to perform when the tracepoint triggers.  */
 
 static void
@@ -2028,7 +2016,7 @@ add_tracepoint_action (struct tracepoint *tpoint, char *packet)
 			 * tpoint->num_step_actions));
 	  tpoint->step_actions[tpoint->num_step_actions - 1] = action;
 	  tpoint->step_actions_str[tpoint->num_step_actions - 1]
-	    = save_string (act_start, act - act_start);
+	    = savestring (act_start, act - act_start);
 	}
       else
 	{
@@ -2041,7 +2029,7 @@ add_tracepoint_action (struct tracepoint *tpoint, char *packet)
 			sizeof (*tpoint->actions_str) * tpoint->numactions);
 	  tpoint->actions[tpoint->numactions - 1] = action;
 	  tpoint->actions_str[tpoint->numactions - 1]
-	    = save_string (act_start, act - act_start);
+	    = savestring (act_start, act - act_start);
 	}
     }
 }
diff --git a/gdb/utils.c b/gdb/utils.c
index 408c6ce..eb99f4b 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -89,9 +89,6 @@ extern PTR realloc ();		/* ARI: PTR */
 extern void free ();
 #endif
 
-/* readline defines this.  */
-#undef savestring
-
 void (*deprecated_error_begin_hook) (void);
 
 /* Prototypes for local functions */
@@ -1186,20 +1183,6 @@ myread (int desc, char *addr, int len)
   return orglen;
 }
 
-/* Make a copy of the string at PTR with LEN characters
-   (and add a null character at the end in the copy).
-   Uses malloc to get the space.  Returns the address of the copy.  */
-
-char *
-savestring (const char *ptr, size_t len)
-{
-  char *p = (char *) xmalloc (len + 1);
-
-  memcpy (p, ptr, len);
-  p[len] = 0;
-  return p;
-}
-
 void
 print_spaces (int n, struct ui_file *file)
 {


  reply	other threads:[~2013-02-14 17:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-14 17:14 [COMMIT PATCH 1/2] savestring: Rename parameter 'size' to 'len' Pedro Alves
2013-02-14 17:14 ` Pedro Alves [this message]
2013-02-14 18:07   ` [COMMIT PATCH 2/2] Move savestring to common/common-utils.c, make gdbserver use it Tom Tromey
2013-02-14 18:08     ` Pedro Alves
2013-02-14 18:10       ` Tom Tromey
2013-02-14 18:14         ` Pedro Alves
2013-02-14 18:24           ` Tom Tromey
2013-02-14 18:31             ` Pedro Alves
2013-02-14 18:54           ` Joel Brobecker
2013-02-14 20:35             ` Tom Tromey
2013-02-14 21:05               ` Joel Brobecker
2013-02-21 21:15                 ` Tom Tromey
2013-02-14 18:30 ` [COMMIT PATCH 1/2] savestring: Rename parameter 'size' to 'len' Mark Kettenis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130214171411.2223.32326.stgit@brno.lan \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox