]> granicus.if.org Git - python/commitdiff
Correct the docstring for byteswap(); error noted by Bernhard Reiter
authorFred Drake <fdrake@acm.org>
Fri, 3 Dec 1999 17:15:30 +0000 (17:15 +0000)
committerFred Drake <fdrake@acm.org>
Fri, 3 Dec 1999 17:15:30 +0000 (17:15 +0000)
<bernhard@uwm.edu>.

Added a check that no parameters were passed to byteswap(); previously
allowed any parameters you happened to pass.

Modules/arraymodule.c

index 6b47e0c76ecf2115aa95675b140bb7b8d8c9c221..fc7bf0746151b3091e0b6b9ab1b5ae0d669d2fd8 100644 (file)
@@ -759,6 +759,10 @@ array_byteswap(self, args)
 {
        char *p;
        int i;
+
+        if (!PyArg_ParseTuple(args, ":byteswap"))
+                return NULL;
+
        switch (self->ob_descr->itemsize) {
        case 1:
                break;
@@ -805,10 +809,10 @@ array_byteswap(self, args)
 }
 
 static char byteswap_doc [] =
-"byteswap(x)\n\
+"byteswap()\n\
 \n\
-Byteswap all items of the array.  This is only supported for integer\n\
-values of x, which determines the size of the blocks swapped.";
+Byteswap all items of the array.  If the items in the array are not 1, 2,\n\
+4, or 8 bytes in size, RuntimeError is raised.";
 
 static PyObject *
 array_reverse(self, args)
@@ -1139,7 +1143,8 @@ representation.";
 PyMethodDef array_methods[] = {
        {"append",      (PyCFunction)array_append, 0, append_doc},
        {"buffer_info", (PyCFunction)array_buffer_info, 0, buffer_info_doc},
-       {"byteswap",    (PyCFunction)array_byteswap, 0, byteswap_doc},
+       {"byteswap",    (PyCFunction)array_byteswap, METH_VARARGS,
+         byteswap_doc},
 /*     {"count",       (method)array_count},*/
        {"fromfile",    (PyCFunction)array_fromfile, 0, fromfile_doc},
        {"fromlist",    (PyCFunction)array_fromlist, 0, fromlist_doc},