* 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.
This commit is contained in:
parent
8dbb9eb3c6
commit
63d97a2024
4 changed files with 28 additions and 31 deletions
|
@ -1,5 +1,10 @@
|
||||||
2011-09-08 Doug Evans <dje@google.com>
|
2011-09-08 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
* cli/cli-decode.c (add_cmd): Add comment.
|
* cli/cli-decode.c (add_cmd): Add comment.
|
||||||
|
|
||||||
2011-09-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2011-09-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
|
@ -70,7 +70,6 @@ typedef struct cmdpy_object cmdpy_object;
|
||||||
|
|
||||||
static PyTypeObject cmdpy_object_type;
|
static PyTypeObject cmdpy_object_type;
|
||||||
|
|
||||||
|
|
||||||
/* Constants used by this module. */
|
/* Constants used by this module. */
|
||||||
static PyObject *invoke_cst;
|
static PyObject *invoke_cst;
|
||||||
static PyObject *complete_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. */
|
/* Called by gdb for command completion. */
|
||||||
|
|
||||||
static char **
|
static char **
|
||||||
cmdpy_completer (struct cmd_list_element *command, char *text, char *word)
|
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
|
/* Helper for cmdpy_init which locates the command list to use and
|
||||||
pulls out the command name.
|
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
|
name of the new command. All earlier words must be existing prefix
|
||||||
commands.
|
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
|
This function returns the xmalloc()d name of the new command. On
|
||||||
error sets the Python error and returns NULL. */
|
error sets the Python error and returns NULL. */
|
||||||
|
|
||||||
char *
|
char *
|
||||||
gdbpy_parse_command_name (char *text,
|
gdbpy_parse_command_name (const char *name,
|
||||||
struct cmd_list_element ***base_list,
|
struct cmd_list_element ***base_list,
|
||||||
struct cmd_list_element **start_list)
|
struct cmd_list_element **start_list)
|
||||||
{
|
{
|
||||||
struct cmd_list_element *elt;
|
struct cmd_list_element *elt;
|
||||||
int len = strlen (text);
|
int len = strlen (name);
|
||||||
int i, lastchar;
|
int i, lastchar;
|
||||||
char *prefix_text;
|
char *prefix_text, *prefix_text2;
|
||||||
char *result;
|
char *result;
|
||||||
|
|
||||||
/* Skip trailing whitespace. */
|
/* 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)
|
if (i < 0)
|
||||||
{
|
{
|
||||||
|
@ -333,17 +334,17 @@ gdbpy_parse_command_name (char *text,
|
||||||
lastchar = i;
|
lastchar = i;
|
||||||
|
|
||||||
/* Find first character of the final word. */
|
/* Find first character of the final word. */
|
||||||
for (; i > 0 && (isalnum (text[i - 1])
|
for (; i > 0 && (isalnum (name[i - 1])
|
||||||
|| text[i - 1] == '-'
|
|| name[i - 1] == '-'
|
||||||
|| text[i - 1] == '_');
|
|| name[i - 1] == '_');
|
||||||
--i)
|
--i)
|
||||||
;
|
;
|
||||||
result = xmalloc (lastchar - i + 2);
|
result = xmalloc (lastchar - i + 2);
|
||||||
memcpy (result, &text[i], lastchar - i + 1);
|
memcpy (result, &name[i], lastchar - i + 1);
|
||||||
result[lastchar - i + 1] = '\0';
|
result[lastchar - i + 1] = '\0';
|
||||||
|
|
||||||
/* Skip whitespace again. */
|
/* 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)
|
if (i < 0)
|
||||||
{
|
{
|
||||||
|
@ -352,11 +353,11 @@ gdbpy_parse_command_name (char *text,
|
||||||
}
|
}
|
||||||
|
|
||||||
prefix_text = xmalloc (i + 2);
|
prefix_text = xmalloc (i + 2);
|
||||||
memcpy (prefix_text, text, i + 1);
|
memcpy (prefix_text, name, i + 1);
|
||||||
prefix_text[i + 1] = '\0';
|
prefix_text[i + 1] = '\0';
|
||||||
|
|
||||||
text = prefix_text;
|
prefix_text2 = prefix_text;
|
||||||
elt = lookup_cmd_1 (&text, *start_list, NULL, 1);
|
elt = lookup_cmd_1 (&prefix_text2, *start_list, NULL, 1);
|
||||||
if (!elt || elt == (struct cmd_list_element *) -1)
|
if (!elt || elt == (struct cmd_list_element *) -1)
|
||||||
{
|
{
|
||||||
PyErr_Format (PyExc_RuntimeError, _("Could not find command prefix %s."),
|
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.
|
If PREFIX is True, then this command is a prefix command.
|
||||||
|
|
||||||
The documentation for the command is taken from the doc string for
|
The documentation for the command is taken from the doc string for
|
||||||
the python class.
|
the python class. */
|
||||||
|
|
||||||
*/
|
|
||||||
static int
|
static int
|
||||||
cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
|
cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
|
||||||
{
|
{
|
||||||
cmdpy_object *obj = (cmdpy_object *) self;
|
cmdpy_object *obj = (cmdpy_object *) self;
|
||||||
const char *name;
|
const char *name;
|
||||||
char *copy;
|
|
||||||
int cmdtype;
|
int cmdtype;
|
||||||
int completetype = -1;
|
int completetype = -1;
|
||||||
char *docstring = NULL;
|
char *docstring = NULL;
|
||||||
|
@ -450,9 +449,7 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
copy = xstrdup (name);
|
cmd_name = gdbpy_parse_command_name (name, &cmd_list, &cmdlist);
|
||||||
cmd_name = gdbpy_parse_command_name (copy, &cmd_list, &cmdlist);
|
|
||||||
xfree (copy);
|
|
||||||
if (! cmd_name)
|
if (! cmd_name)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -554,6 +551,7 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
|
||||||
|
|
||||||
|
|
||||||
/* Initialize the 'commands' code. */
|
/* Initialize the 'commands' code. */
|
||||||
|
|
||||||
void
|
void
|
||||||
gdbpy_initialize_commands (void)
|
gdbpy_initialize_commands (void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -646,7 +646,6 @@ parmpy_init (PyObject *self, PyObject *args, PyObject *kwds)
|
||||||
{
|
{
|
||||||
parmpy_object *obj = (parmpy_object *) self;
|
parmpy_object *obj = (parmpy_object *) self;
|
||||||
const char *name;
|
const char *name;
|
||||||
char *copy;
|
|
||||||
char *set_doc, *show_doc, *doc;
|
char *set_doc, *show_doc, *doc;
|
||||||
char *cmd_name;
|
char *cmd_name;
|
||||||
int parmclass, cmdtype;
|
int parmclass, cmdtype;
|
||||||
|
@ -697,21 +696,16 @@ parmpy_init (PyObject *self, PyObject *args, PyObject *kwds)
|
||||||
obj->type = (enum var_types) parmclass;
|
obj->type = (enum var_types) parmclass;
|
||||||
memset (&obj->value, 0, sizeof (obj->value));
|
memset (&obj->value, 0, sizeof (obj->value));
|
||||||
|
|
||||||
copy = xstrdup (name);
|
cmd_name = gdbpy_parse_command_name (name, &set_list,
|
||||||
cmd_name = gdbpy_parse_command_name (copy, &set_list,
|
|
||||||
&setlist);
|
&setlist);
|
||||||
|
|
||||||
if (! cmd_name)
|
if (! cmd_name)
|
||||||
{
|
return -1;
|
||||||
xfree (copy);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
xfree (cmd_name);
|
xfree (cmd_name);
|
||||||
cmd_name = gdbpy_parse_command_name (copy, &show_list,
|
cmd_name = gdbpy_parse_command_name (name, &show_list,
|
||||||
&showlist);
|
&showlist);
|
||||||
if (! cmd_name)
|
if (! cmd_name)
|
||||||
return -1;
|
return -1;
|
||||||
xfree (copy);
|
|
||||||
|
|
||||||
set_doc = get_doc_string (self, set_doc_cst);
|
set_doc = get_doc_string (self, set_doc_cst);
|
||||||
show_doc = get_doc_string (self, show_doc_cst);
|
show_doc = get_doc_string (self, show_doc_cst);
|
||||||
|
|
|
@ -154,7 +154,7 @@ PyObject *gdbpy_selected_thread (PyObject *self, PyObject *args);
|
||||||
PyObject *gdbpy_string_to_argv (PyObject *self, PyObject *args);
|
PyObject *gdbpy_string_to_argv (PyObject *self, PyObject *args);
|
||||||
PyObject *gdbpy_parameter (PyObject *self, PyObject *args);
|
PyObject *gdbpy_parameter (PyObject *self, PyObject *args);
|
||||||
PyObject *gdbpy_parameter_value (enum var_types type, void *var);
|
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 ***base_list,
|
||||||
struct cmd_list_element **start_list);
|
struct cmd_list_element **start_list);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue