* 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
@ -1,5 +1,10 @@
|
||||
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.
|
||||
|
||||
2011-09-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user