Change PyBuffer to Py_buffer to be consistent with other non-object structures like Py_complex. Add some more functionality to the memoryview object.
diff --git a/Python/getargs.c b/Python/getargs.c
index 8608684..dc1bae0 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -1211,7 +1211,7 @@
PyBufferProcs *pb = arg->ob_type->tp_as_buffer;
int count;
int temp=-1;
- PyBuffer view;
+ Py_buffer view;
if (pb == NULL ||
pb->bf_getbuffer == NULL ||
@@ -1242,7 +1242,7 @@
char **p = va_arg(*p_va, char **);
PyBufferProcs *pb = arg->ob_type->tp_as_buffer;
int count;
- PyBuffer view;
+ Py_buffer view;
if (*format++ != '#')
return converterr(
@@ -1286,7 +1286,7 @@
{
PyBufferProcs *pb = arg->ob_type->tp_as_buffer;
Py_ssize_t count;
- PyBuffer view;
+ Py_buffer view;
*errmsg = NULL;
*p = NULL;
diff --git a/Python/marshal.c b/Python/marshal.c
index 1ec33bd..c488f27 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -367,7 +367,7 @@
/* Write unknown buffer-style objects as a string */
char *s;
PyBufferProcs *pb = v->ob_type->tp_as_buffer;
- PyBuffer view;
+ Py_buffer view;
if ((*pb->bf_getbuffer)(v, &view, PyBUF_SIMPLE) != 0) {
w_byte(TYPE_UNKNOWN, p);
p->error = 1;