diff options
author | Guido van Rossum <guido@python.org> | 1999-03-19 19:07:19 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1999-03-19 19:07:19 (GMT) |
commit | 0daf022225b3670f908e633be210b2ff0a172788 (patch) | |
tree | 897c871493f6c1a7e7690f1739fdd46f97a309ab /Python/bltinmodule.c | |
parent | 49ded3ec004c49088ec26c808f9b7c931a35cf0f (diff) | |
download | cpython-0daf022225b3670f908e633be210b2ff0a172788.zip cpython-0daf022225b3670f908e633be210b2ff0a172788.tar.gz cpython-0daf022225b3670f908e633be210b2ff0a172788.tar.bz2 |
New builtin buffer() creates a derived read-only buffer from any
object that supports the buffer interface (e.g. strings, arrays).
Diffstat (limited to 'Python/bltinmodule.c')
-rw-r--r-- | Python/bltinmodule.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index d40c281..b07597c 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -137,6 +137,29 @@ 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 * builtin_callable(self, args) PyObject *self; PyObject *args; @@ -1923,6 +1946,7 @@ static PyMethodDef builtin_methods[] = { {"__import__", builtin___import__, 1, import_doc}, {"abs", builtin_abs, 1, abs_doc}, {"apply", builtin_apply, 1, apply_doc}, + {"buffer", builtin_buffer, 1, buffer_doc}, {"callable", builtin_callable, 1, callable_doc}, {"chr", builtin_chr, 1, chr_doc}, {"cmp", builtin_cmp, 1, cmp_doc}, |