diff Python/bltinmodule.c @ 10428:3571b4c1bc0e legacy-trunk

New builtin buffer() creates a derived read-only buffer from any object that supports the buffer interface (e.g. strings, arrays).
author Guido van Rossum <guido@python.org>
date Fri, 19 Mar 1999 19:07:19 +0000
parents 1c6b10dea9f0
children 36ba4dbff686
line wrap: on
line diff
--- a/Python/bltinmodule.c	Fri Mar 19 19:04:25 1999 +0000
+++ b/Python/bltinmodule.c	Fri Mar 19 19:07:19 1999 +0000
@@ -137,6 +137,29 @@
 
 
 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 @@
 	{"__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},