aboutsummaryrefslogtreecommitdiff
path: root/gdb/python
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2011-09-08 19:51:27 +0000
committerDoug Evans <dje@google.com>2011-09-08 19:51:27 +0000
commit63d97a2024d3c47cc780e99ac5f15f1e23c54a6c (patch)
treee81f4e6ceebb51239de7f9db8d303293c4c4bd20 /gdb/python
parent8dbb9eb3c6a29de5b64fadc558c7a15507d6be63 (diff)
downloadgdb-63d97a2024d3c47cc780e99ac5f15f1e23c54a6c.zip
gdb-63d97a2024d3c47cc780e99ac5f15f1e23c54a6c.tar.gz
gdb-63d97a2024d3c47cc780e99ac5f15f1e23c54a6c.tar.bz2
* py-cmd.c: Some minor formatting fixes.
(gdbpy_parse_command_name): Rename text arg to name, make const. All callers updated. * python-internal.h (gdbpy_parse_command_name): Update.
Diffstat (limited to 'gdb/python')
-rw-r--r--gdb/python/py-cmd.c40
-rw-r--r--gdb/python/py-param.c12
-rw-r--r--gdb/python/python-internal.h2
3 files changed, 23 insertions, 31 deletions
diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c
index 9ff8eaa..677c1e4 100644
--- a/gdb/python/py-cmd.c
+++ b/gdb/python/py-cmd.c
@@ -70,7 +70,6 @@ typedef struct cmdpy_object cmdpy_object;
static PyTypeObject cmdpy_object_type;
-
/* Constants used by this module. */
static PyObject *invoke_cst;
static PyObject *complete_cst;
@@ -206,6 +205,7 @@ cmdpy_function (struct cmd_list_element *command, char *args, int from_tty)
}
/* Called by gdb for command completion. */
+
static char **
cmdpy_completer (struct cmd_list_element *command, char *text, char *word)
{
@@ -300,7 +300,7 @@ cmdpy_completer (struct cmd_list_element *command, char *text, char *word)
/* Helper for cmdpy_init which locates the command list to use and
pulls out the command name.
- TEXT is the command name list. The final word in the list is the
+ NAME is the command name list. The final word in the list is the
name of the new command. All earlier words must be existing prefix
commands.
@@ -311,19 +311,20 @@ cmdpy_completer (struct cmd_list_element *command, char *text, char *word)
This function returns the xmalloc()d name of the new command. On
error sets the Python error and returns NULL. */
+
char *
-gdbpy_parse_command_name (char *text,
+gdbpy_parse_command_name (const char *name,
struct cmd_list_element ***base_list,
struct cmd_list_element **start_list)
{
struct cmd_list_element *elt;
- int len = strlen (text);
+ int len = strlen (name);
int i, lastchar;
- char *prefix_text;
+ char *prefix_text, *prefix_text2;
char *result;
/* Skip trailing whitespace. */
- for (i = len - 1; i >= 0 && (text[i] == ' ' || text[i] == '\t'); --i)
+ for (i = len - 1; i >= 0 && (name[i] == ' ' || name[i] == '\t'); --i)
;
if (i < 0)
{
@@ -333,17 +334,17 @@ gdbpy_parse_command_name (char *text,
lastchar = i;
/* Find first character of the final word. */
- for (; i > 0 && (isalnum (text[i - 1])
- || text[i - 1] == '-'
- || text[i - 1] == '_');
+ for (; i > 0 && (isalnum (name[i - 1])
+ || name[i - 1] == '-'
+ || name[i - 1] == '_');
--i)
;
result = xmalloc (lastchar - i + 2);
- memcpy (result, &text[i], lastchar - i + 1);
+ memcpy (result, &name[i], lastchar - i + 1);
result[lastchar - i + 1] = '\0';
/* Skip whitespace again. */
- for (--i; i >= 0 && (text[i] == ' ' || text[i] == '\t'); --i)
+ for (--i; i >= 0 && (name[i] == ' ' || name[i] == '\t'); --i)
;
if (i < 0)
{
@@ -352,11 +353,11 @@ gdbpy_parse_command_name (char *text,
}
prefix_text = xmalloc (i + 2);
- memcpy (prefix_text, text, i + 1);
+ memcpy (prefix_text, name, i + 1);
prefix_text[i + 1] = '\0';
- text = prefix_text;
- elt = lookup_cmd_1 (&text, *start_list, NULL, 1);
+ prefix_text2 = prefix_text;
+ elt = lookup_cmd_1 (&prefix_text2, *start_list, NULL, 1);
if (!elt || elt == (struct cmd_list_element *) -1)
{
PyErr_Format (PyExc_RuntimeError, _("Could not find command prefix %s."),
@@ -398,15 +399,13 @@ gdbpy_parse_command_name (char *text,
If PREFIX is True, then this command is a prefix command.
The documentation for the command is taken from the doc string for
- the python class.
-
-*/
+ the python class. */
+
static int
cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
{
cmdpy_object *obj = (cmdpy_object *) self;
const char *name;
- char *copy;
int cmdtype;
int completetype = -1;
char *docstring = NULL;
@@ -450,9 +449,7 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
return -1;
}
- copy = xstrdup (name);
- cmd_name = gdbpy_parse_command_name (copy, &cmd_list, &cmdlist);
- xfree (copy);
+ cmd_name = gdbpy_parse_command_name (name, &cmd_list, &cmdlist);
if (! cmd_name)
return -1;
@@ -554,6 +551,7 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
/* Initialize the 'commands' code. */
+
void
gdbpy_initialize_commands (void)
{
diff --git a/gdb/python/py-param.c b/gdb/python/py-param.c
index 747d85b..d68d8fb 100644
--- a/gdb/python/py-param.c
+++ b/gdb/python/py-param.c
@@ -646,7 +646,6 @@ parmpy_init (PyObject *self, PyObject *args, PyObject *kwds)
{
parmpy_object *obj = (parmpy_object *) self;
const char *name;
- char *copy;
char *set_doc, *show_doc, *doc;
char *cmd_name;
int parmclass, cmdtype;
@@ -697,21 +696,16 @@ parmpy_init (PyObject *self, PyObject *args, PyObject *kwds)
obj->type = (enum var_types) parmclass;
memset (&obj->value, 0, sizeof (obj->value));
- copy = xstrdup (name);
- cmd_name = gdbpy_parse_command_name (copy, &set_list,
+ cmd_name = gdbpy_parse_command_name (name, &set_list,
&setlist);
if (! cmd_name)
- {
- xfree (copy);
- return -1;
- }
+ return -1;
xfree (cmd_name);
- cmd_name = gdbpy_parse_command_name (copy, &show_list,
+ cmd_name = gdbpy_parse_command_name (name, &show_list,
&showlist);
if (! cmd_name)
return -1;
- xfree (copy);
set_doc = get_doc_string (self, set_doc_cst);
show_doc = get_doc_string (self, show_doc_cst);
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
index 996b23b..4209c28 100644
--- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h
@@ -154,7 +154,7 @@ PyObject *gdbpy_selected_thread (PyObject *self, PyObject *args);
PyObject *gdbpy_string_to_argv (PyObject *self, PyObject *args);
PyObject *gdbpy_parameter (PyObject *self, PyObject *args);
PyObject *gdbpy_parameter_value (enum var_types type, void *var);
-char *gdbpy_parse_command_name (char *text,
+char *gdbpy_parse_command_name (const char *name,
struct cmd_list_element ***base_list,
struct cmd_list_element **start_list);