diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 9d49a97..90ca7c6 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -2810,7 +2810,7 @@
 PyInit_array(void)
 {
     PyObject *m;
-    char buffer[PY_ARRAY_LENGTH(descriptors)], *p;
+    char buffer[Py_ARRAY_LENGTH(descriptors)], *p;
     PyObject *typecodes;
     Py_ssize_t size = 0;
     struct arraydescr *descr;
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index 6bf8359..2293e66 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -88,7 +88,7 @@
                         "archive path too long");
         goto error;
     }
-    if (!PyUnicode_AsUCS4(pathobj, buf, PY_ARRAY_LENGTH(buf), 1))
+    if (!PyUnicode_AsUCS4(pathobj, buf, Py_ARRAY_LENGTH(buf), 1))
         goto error;
 
 #ifdef ALTSEP
@@ -473,7 +473,7 @@
         PyErr_SetString(ZipImportError, "path too long");
         return NULL;
     }
-    if (!PyUnicode_AsUCS4(pathobj, buf, PY_ARRAY_LENGTH(buf), 1))
+    if (!PyUnicode_AsUCS4(pathobj, buf, Py_ARRAY_LENGTH(buf), 1))
         return NULL;
     path = buf;
 #ifdef ALTSEP
@@ -484,7 +484,7 @@
 #endif
     len = PyUnicode_GET_LENGTH(self->archive);
     if ((size_t)len < Py_UCS4_strlen(path)) {
-        if (!PyUnicode_AsUCS4(self->archive, archive, PY_ARRAY_LENGTH(archive), 1))
+        if (!PyUnicode_AsUCS4(self->archive, archive, Py_ARRAY_LENGTH(archive), 1))
             return NULL;
         if (Py_UCS4_strncmp(path, archive, len) == 0 &&
             path[len] == SEP) {
@@ -771,7 +771,7 @@
                         "Zip path name is too long");
         return NULL;
     }
-    if (!PyUnicode_AsUCS4(archive, path, PY_ARRAY_LENGTH(path), 1))
+    if (!PyUnicode_AsUCS4(archive, path, Py_ARRAY_LENGTH(path), 1))
         return NULL;
 
     fp = _Py_fopen(archive, "rb");
