aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/py-cmd.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-01-26 20:53:45 +0000
committerTom Tromey <tromey@redhat.com>2011-01-26 20:53:45 +0000
commit74aedc4602913e330a1ec0cf5e9b8c8fe2b19a48 (patch)
treec62ace6e4f31af6c12769e075478bd76c3070534 /gdb/python/py-cmd.c
parent6ec8b48eb879136808e264dc6a41cffed5e0133b (diff)
downloadgdb-74aedc4602913e330a1ec0cf5e9b8c8fe2b19a48.zip
gdb-74aedc4602913e330a1ec0cf5e9b8c8fe2b19a48.tar.gz
gdb-74aedc4602913e330a1ec0cf5e9b8c8fe2b19a48.tar.bz2
* python/python.c (gdbpy_solib_name): Use gdb_py_longest and
GDB_PY_LL_ARG. * python/python-internal.h (GDB_PY_LL_ARG, GDB_PY_LLU_ARG): New macros. (gdb_py_longest, gdb_py_ulongest): New typedefs. (gdb_py_long_from_longest, gdb_py_long_from_ulongest) (gdb_py_long_as_ulongest): New defines. (gdb_py_object_from_longest, gdb_py_object_from_ulongest) (gdb_py_int_as_long): Declare. * python/py-value.c (valpy_lazy_string): Use gdb_py_longest, GDB_PY_LL_ARG, gdb_py_object_from_longest. (valpy_long): Add comment. * python/py-utils.c (get_addr_from_python): Use gdb_py_long_as_ulongest. Handle overflow properly. (gdb_py_object_from_longest): New function. (gdb_py_object_from_ulongest): Likewise. (gdb_py_int_as_long): Likewise. * python/py-type.c (typy_array): Use gdb_py_int_as_long. * python/py-symtab.c (salpy_get_pc): Use gdb_py_long_from_ulongest. (salpy_get_line): Use PyInt_FromLong. * python/py-param.c (set_parameter_value): Use gdb_py_int_as_long. * python/py-lazy-string.c (stpy_get_address): Use gdb_py_long_from_ulongest. * python/py-frame.c (frapy_pc): Use gdb_py_long_from_ulongest. * python/py-cmd.c (cmdpy_completer): Use gdb_py_int_as_long. * python/py-breakpoint.c (bppy_set_thread): Use gdb_py_int_as_long. (bppy_set_task): Likewise. (bppy_set_ignore_count): Likewise. (bppy_set_hit_count): Likewise. * python/py-block.c (blpy_get_start): Use gdb_py_object_from_ulongest. (blpy_get_end): Likewise. (gdbpy_block_for_pc): Use gdb_py_ulongest and GDB_PY_LLU_ARG.
Diffstat (limited to 'gdb/python/py-cmd.c')
-rw-r--r--gdb/python/py-cmd.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c
index 3de3af2..245d66a 100644
--- a/gdb/python/py-cmd.c
+++ b/gdb/python/py-cmd.c
@@ -279,9 +279,14 @@ cmdpy_completer (struct cmd_list_element *command, char *text, char *word)
{
/* User code may also return one of the completion constants,
thus requesting that sort of completion. */
- long value = PyInt_AsLong (resultobj);
+ long value;
- if (value >= 0 && value < (long) N_COMPLETERS)
+ if (! gdb_py_int_as_long (resultobj, &value))
+ {
+ /* Ignore. */
+ PyErr_Clear ();
+ }
+ else if (value >= 0 && value < (long) N_COMPLETERS)
result = completers[value].completer (command, text, word);
}