mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-29 15:18:34 +08:00
* 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.
This commit is contained in:
@ -307,13 +307,13 @@ valpy_get_dynamic_type (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
valpy_lazy_string (PyObject *self, PyObject *args, PyObject *kw)
|
||||
{
|
||||
int length = -1;
|
||||
gdb_py_longest length = -1;
|
||||
struct value *value = ((value_object *) self)->value;
|
||||
const char *user_encoding = NULL;
|
||||
static char *keywords[] = { "encoding", "length", NULL };
|
||||
PyObject *str_obj;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords (args, kw, "|si", keywords,
|
||||
if (!PyArg_ParseTupleAndKeywords (args, kw, "|s" GDB_PY_LL_ARG, keywords,
|
||||
&user_encoding, &length))
|
||||
return NULL;
|
||||
|
||||
@ -987,14 +987,7 @@ valpy_int (PyObject *self)
|
||||
}
|
||||
GDB_PY_HANDLE_EXCEPTION (except);
|
||||
|
||||
#ifdef HAVE_LONG_LONG /* Defined by Python. */
|
||||
/* If we have 'long long', and the value overflows a 'long', use a
|
||||
Python Long; otherwise use a Python Int. */
|
||||
if (sizeof (l) > sizeof (long) && (l > PyInt_GetMax ()
|
||||
|| l < (- (LONGEST) PyInt_GetMax ()) - 1))
|
||||
return PyLong_FromLongLong (l);
|
||||
#endif
|
||||
return PyInt_FromLong (l);
|
||||
return gdb_py_object_from_longest (l);
|
||||
}
|
||||
|
||||
/* Implements conversion to long. */
|
||||
@ -1019,11 +1012,7 @@ valpy_long (PyObject *self)
|
||||
}
|
||||
GDB_PY_HANDLE_EXCEPTION (except);
|
||||
|
||||
#ifdef HAVE_LONG_LONG /* Defined by Python. */
|
||||
return PyLong_FromLongLong (l);
|
||||
#else
|
||||
return PyLong_FromLong (l);
|
||||
#endif
|
||||
return gdb_py_long_from_longest (l);
|
||||
}
|
||||
|
||||
/* Implements conversion to float. */
|
||||
|
Reference in New Issue
Block a user