summaryrefslogtreecommitdiff
path: root/Modules/arraymodule.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1993-11-10 09:23:53 +0000
committerGuido van Rossum <guido@python.org>1993-11-10 09:23:53 +0000
commitc06ed1131e41b796c1399705dcf8bec1224e39cf (patch)
treefbbe2f7e7e50ef40406219d0ee6da1cba5c9a21f /Modules/arraymodule.c
parent43bbb483f339d2704ab58d6adf1ff0e37387f16a (diff)
downloadcpython-c06ed1131e41b796c1399705dcf8bec1224e39cf.tar.gz
* posixmodule.c: added set{uid,gid}.
* {tuple,list,mapping,array}object.c: call printobject with 0 for flags * compile.c (parsestr): use quote instead of '\'' at one crucial point * arraymodule.c (array_getattr): Added __members__ attribute
Diffstat (limited to 'Modules/arraymodule.c')
-rw-r--r--Modules/arraymodule.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 248e431a5f..5b62fee4c0 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -993,6 +993,18 @@ array_getattr(a, name)
if (strcmp(name, "itemsize") == 0) {
return newintobject((long)a->ob_descr->itemsize);
}
+ if (strcmp(name, "__members__") == 0) {
+ object *list = newlistobject(2);
+ if (list) {
+ setlistitem(list, 0, newstringobject("typecode"));
+ setlistitem(list, 1, newstringobject("itemsize"));
+ if (err_occurred()) {
+ DECREF(list);
+ list = NULL;
+ }
+ }
+ return list;
+ }
return findmethod(array_methods, (object *)a, name);
}
@@ -1013,7 +1025,7 @@ array_print(a, fp, flags)
if (a->ob_descr->typecode == 'c') {
fprintf(fp, "array('c', ");
v = array_tostring(a, (object *)NULL);
- ok = printobject(v, fp, flags);
+ ok = printobject(v, fp, 0);
XDECREF(v);
fprintf(fp, ")");
return ok;
@@ -1023,7 +1035,7 @@ array_print(a, fp, flags)
if (i > 0)
fprintf(fp, ", ");
v = (a->ob_descr->getitem)(a, i);
- ok = printobject(v, fp, flags);
+ ok = printobject(v, fp, 0);
XDECREF(v);
}
fprintf(fp, "])");