summaryrefslogtreecommitdiffstats
path: root/Python/bltinmodule.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1999-03-19 19:07:19 (GMT)
committerGuido van Rossum <guido@python.org>1999-03-19 19:07:19 (GMT)
commit0daf022225b3670f908e633be210b2ff0a172788 (patch)
tree897c871493f6c1a7e7690f1739fdd46f97a309ab /Python/bltinmodule.c
parent49ded3ec004c49088ec26c808f9b7c931a35cf0f (diff)
downloadcpython-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.c24
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},