aboutsummaryrefslogtreecommitdiff
path: root/gdb/utils.c
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2011-10-09 22:21:43 +0000
committerDoug Evans <dje@google.com>2011-10-09 22:21:43 +0000
commit5a56e9c5e9a817598264d329c0f7936982683cf3 (patch)
treeb098197d8cf4b75931db58241388806c7ed8be9e /gdb/utils.c
parent509f0fd9410d9394d0a6e2fa4ef80e08de5598b5 (diff)
downloadgdb-5a56e9c5e9a817598264d329c0f7936982683cf3.zip
gdb-5a56e9c5e9a817598264d329c0f7936982683cf3.tar.gz
gdb-5a56e9c5e9a817598264d329c0f7936982683cf3.tar.bz2
Add new "alias" command.
* NEWS: Mention new command. * command.h (valid_user_defined_cmd_name_p): Declare. * defs.h (make_cleanup_dyn_string_delete): Declare. * utils.c: #include "dyn-string.h". (do_dyn_string_delete, make_cleanup_dyn_string_delete): New functions. * cli/cli-cmds.c: #include "dyn-string.h". (argv_to_dyn_string, valid_command_p, alias_command): New functions. (init_cli_cmds): Add new command. * cli/cli-decode.c (valid_user_defined_cmd_name_p): New function. doc/ * gdb.texinfo (Extending GDB): Document alias command. testsuite/ * gdb.base/alias.exp: Add tests for alias command.
Diffstat (limited to 'gdb/utils.c')
-rw-r--r--gdb/utils.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/utils.c b/gdb/utils.c
index 08c08c6..4a0b5a2 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -20,6 +20,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
+#include "dyn-string.h"
#include "gdb_assert.h"
#include <ctype.h>
#include "gdb_string.h"
@@ -238,6 +239,18 @@ make_cleanup_freeargv (char **arg)
}
static void
+do_dyn_string_delete (void *arg)
+{
+ dyn_string_delete ((dyn_string_t) arg);
+}
+
+struct cleanup *
+make_cleanup_dyn_string_delete (dyn_string_t arg)
+{
+ return make_my_cleanup (&cleanup_chain, do_dyn_string_delete, arg);
+}
+
+static void
do_bfd_close_cleanup (void *arg)
{
bfd_close (arg);