Commit 75d8717c authored by Guido van Rossum's avatar Guido van Rossum

New builtin buffer() creates a derived read-only buffer from any

object that supports the buffer interface (e.g. strings, arrays).
parent 76c6e9e7
...@@ -136,6 +136,29 @@ Call a function with positional arguments taken from the tuple args,\n\ ...@@ -136,6 +136,29 @@ Call a function with positional arguments taken from the tuple args,\n\
and keyword arguments taken from the optional dictionary kwargs."; and keyword arguments taken from the optional dictionary kwargs.";
static PyObject *
builtin_buffer(self, args)
PyObject *self;
PyObject *args;
{
PyObject *ob;
int offset = 0;
int size = Py_END_OF_BUFFER;
if ( !PyArg_ParseTuple(args, "O|ii:buffer", &ob, &offset, &size) )
return NULL;
return PyBuffer_FromObject(ob, offset, size);
}
static char buffer_doc[] =
"buffer(object [, offset[, size]) -> object\n\
\n\
Creates a new buffer object which references the given object.\n\
The buffer will reference a slice of the target object from the\n\
start of the object (or at the specified offset). The slice will\n\
extend to the end of the target object (or with the specified size).";
static PyObject * static PyObject *
builtin_callable(self, args) builtin_callable(self, args)
PyObject *self; PyObject *self;
...@@ -1923,6 +1946,7 @@ static PyMethodDef builtin_methods[] = { ...@@ -1923,6 +1946,7 @@ static PyMethodDef builtin_methods[] = {
{"__import__", builtin___import__, 1, import_doc}, {"__import__", builtin___import__, 1, import_doc},
{"abs", builtin_abs, 1, abs_doc}, {"abs", builtin_abs, 1, abs_doc},
{"apply", builtin_apply, 1, apply_doc}, {"apply", builtin_apply, 1, apply_doc},
{"buffer", builtin_buffer, 1, buffer_doc},
{"callable", builtin_callable, 1, callable_doc}, {"callable", builtin_callable, 1, callable_doc},
{"chr", builtin_chr, 1, chr_doc}, {"chr", builtin_chr, 1, chr_doc},
{"cmp", builtin_cmp, 1, cmp_doc}, {"cmp", builtin_cmp, 1, cmp_doc},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment