diff Modules/arraymodule.c @ 31651:35cb8114b45c legacy-trunk

SF bug #910986: copy.copy fails for array.array Added support for the copy module.
author Raymond Hettinger <python@rcn.com>
date Sat, 13 Mar 2004 18:18:51 +0000
parents 3b59fa5d25b1
children 206d8575f644
line wrap: on
line diff
--- a/Modules/arraymodule.c	Fri Mar 12 16:38:17 2004 +0000
+++ b/Modules/arraymodule.c	Sat Mar 13 18:18:51 2004 +0000
@@ -617,6 +617,17 @@
 }
 
 static PyObject *
+array_copy(arrayobject *a, PyObject *unused)
+{
+	return array_slice(a, 0, a->ob_size);
+}
+
+PyDoc_STRVAR(copy_doc,
+"copy(array)\n\
+\n\
+ Return a copy of the array.");
+
+static PyObject *
 array_concat(arrayobject *a, PyObject *bb)
 {
 	int size;
@@ -1409,8 +1420,12 @@
 	 buffer_info_doc},
 	{"byteswap",	(PyCFunction)array_byteswap,	METH_NOARGS,
 	 byteswap_doc},
+	{"__copy__",	(PyCFunction)array_copy,	METH_NOARGS,
+	 copy_doc},
 	{"count",	(PyCFunction)array_count,	METH_O,
 	 count_doc},
+	{"__deepcopy__",(PyCFunction)array_copy,	METH_NOARGS,
+	 copy_doc},
 	{"extend",      (PyCFunction)array_extend,	METH_O,
 	 extend_doc},
 	{"fromfile",	(PyCFunction)array_fromfile,	METH_VARARGS,