From baea0daecf9393f9f21bce1b2575133ae9264a1c Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 14 Feb 2013 17:11:41 +0000 Subject: [PATCH] Move savestring to common/common-utils.c, make gdbserver use it. This makes gdbserver share gdb's savestring, instead of baking its own. Tested on x86_64 Fedora 17. gdb/ 2013-02-14 Pedro Alves * 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 * tracepoint.c (save_string): Delete. (add_tracepoint_action): Use savestring instead of save_string. --- gdb/ChangeLog | 8 ++++++++ gdb/common/common-utils.c | 11 +++++++++++ gdb/common/common-utils.h | 6 ++++++ gdb/gdbserver/ChangeLog | 5 +++++ gdb/gdbserver/tracepoint.c | 16 ++-------------- gdb/utils.c | 17 ----------------- 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3e91b36bc0..318f7dff2b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2013-02-14 Pedro Alves + + * 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. + 2013-02-14 Pedro Alves * utils.c (savestring): Rename parameter 'size' to 'len'. diff --git a/gdb/common/common-utils.c b/gdb/common/common-utils.c index 60093a4760..4204abf821 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 #include @@ -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 2abc6d1ff4..9b659d8dac 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/ChangeLog b/gdb/gdbserver/ChangeLog index 1a3ebfafca..e0669799cf 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2013-02-14 Pedro Alves + + * tracepoint.c (save_string): Delete. + (add_tracepoint_action): Use savestring instead of save_string. + 2013-02-12 Pedro Alves * linux-xtensa-low.c: Ditto. diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c index 51b6a0c51d..0ffedaa134 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 408c6ce088..eb99f4b161 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) { -- 2.34.1