* 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:
Doug Evans 2011-09-08 19:51:27 +00:00
parent 8dbb9eb3c6
commit 63d97a2024
4 changed files with 28 additions and 31 deletions

View file

@ -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>

View file

@ -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)
{ {

View file

@ -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);

View file

@ -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);