aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/py-inferior.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/python/py-inferior.c')
-rw-r--r--gdb/python/py-inferior.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c
index dbc197e..c506ccd 100644
--- a/gdb/python/py-inferior.c
+++ b/gdb/python/py-inferior.c
@@ -505,7 +505,7 @@ static PyObject *
infpy_read_memory (PyObject *self, PyObject *args, PyObject *kw)
{
CORE_ADDR addr, length;
- void *buffer = NULL;
+ gdb_byte *buffer = NULL;
membuf_object *membuf_obj;
PyObject *addr_obj, *length_obj, *result;
static char *keywords[] = { "address", "length", NULL };
@@ -520,7 +520,7 @@ infpy_read_memory (PyObject *self, PyObject *args, PyObject *kw)
TRY
{
- buffer = xmalloc (length);
+ buffer = (gdb_byte *) xmalloc (length);
read_memory (addr, buffer, length);
}
@@ -564,7 +564,7 @@ infpy_write_memory (PyObject *self, PyObject *args, PyObject *kw)
{
struct gdb_exception except = exception_none;
Py_ssize_t buf_len;
- const char *buffer;
+ const gdb_byte *buffer;
CORE_ADDR addr, length;
PyObject *addr_obj, *length_obj = NULL;
static char *keywords[] = { "address", "buffer", "length", NULL };
@@ -576,13 +576,17 @@ infpy_write_memory (PyObject *self, PyObject *args, PyObject *kw)
&length_obj))
return NULL;
- buffer = pybuf.buf;
+ buffer = (const gdb_byte *) pybuf.buf;
buf_len = pybuf.len;
#else
+ const void *vbuffer;
+
if (! PyArg_ParseTupleAndKeywords (args, kw, "Os#|O", keywords,
&addr_obj, &buffer, &buf_len,
&length_obj))
return NULL;
+
+ buffer = (const gdb_byte *) buffer;
#endif
if (get_addr_from_python (addr_obj, &addr) < 0)
@@ -595,7 +599,7 @@ infpy_write_memory (PyObject *self, PyObject *args, PyObject *kw)
TRY
{
- write_memory_with_notification (addr, (gdb_byte *) buffer, length);
+ write_memory_with_notification (addr, buffer, length);
}
CATCH (ex, RETURN_MASK_ALL)
{
@@ -717,7 +721,7 @@ infpy_search_memory (PyObject *self, PyObject *args, PyObject *kw)
static char *keywords[] = { "address", "length", "pattern", NULL };
PyObject *start_addr_obj, *length_obj;
Py_ssize_t pattern_size;
- const void *buffer;
+ const gdb_byte *buffer;
CORE_ADDR found_addr;
int found = 0;
#ifdef IS_PY3K
@@ -728,10 +732,11 @@ infpy_search_memory (PyObject *self, PyObject *args, PyObject *kw)
&pybuf))
return NULL;
- buffer = pybuf.buf;
+ buffer = (const gdb_byte *) pybuf.buf;
pattern_size = pybuf.len;
#else
PyObject *pattern;
+ const void *vbuffer;
if (! PyArg_ParseTupleAndKeywords (args, kw, "OOO", keywords,
&start_addr_obj, &length_obj,
@@ -746,8 +751,10 @@ infpy_search_memory (PyObject *self, PyObject *args, PyObject *kw)
return NULL;
}
- if (PyObject_AsReadBuffer (pattern, &buffer, &pattern_size) == -1)
+ if (PyObject_AsReadBuffer (pattern, &vbuffer, &pattern_size) == -1)
return NULL;
+
+ buffer = (const gdb_byte *) vbuffer;
#endif
if (get_addr_from_python (start_addr_obj, &start_addr) < 0)