Use the new Py_ARRAY_LENGTH macro

This commit is contained in:
Victor Stinner 2011-09-29 00:42:28 +02:00
parent b9dcffb51e
commit 639418812f
15 changed files with 26 additions and 28 deletions

View file

@ -1593,7 +1593,7 @@ test_long_numbits(PyObject *self)
{-0xfffffffL, 28, -1}};
int i;
for (i = 0; i < sizeof(testcases) / sizeof(struct triple); ++i) {
for (i = 0; i < Py_ARRAY_LENGTH(testcases); ++i) {
PyObject *plong = PyLong_FromLong(testcases[i].input);
size_t nbits = _PyLong_NumBits(plong);
int sign = _PyLong_Sign(plong);

View file

@ -112,7 +112,7 @@ static fault_handler_t faulthandler_handlers[] = {
{SIGSEGV, 0, "Segmentation fault", }
};
static const unsigned char faulthandler_nsignals = \
sizeof(faulthandler_handlers) / sizeof(faulthandler_handlers[0]);
Py_ARRAY_LENGTH(faulthandler_handlers);
#ifdef HAVE_SIGALTSTACK
static stack_t stack;

View file

@ -1435,7 +1435,7 @@ math_factorial(PyObject *self, PyObject *arg)
}
/* use lookup table if x is small */
if (x < (long)(sizeof(SmallFactorials)/sizeof(SmallFactorials[0])))
if (x < (long)Py_ARRAY_LENGTH(SmallFactorials))
return PyLong_FromUnsignedLong(SmallFactorials[x]);
/* else express in the form odd_part * 2**two_valuation, and compute as

View file

@ -530,7 +530,7 @@ oss_self(PyObject *self, PyObject *unused)
return self;
}
static PyObject *
static PyObject *
oss_exit(PyObject *self, PyObject *unused)
{
PyObject *ret = PyObject_CallMethod(self, "close", NULL);
@ -1061,8 +1061,8 @@ build_namelists (PyObject *module)
int num_controls;
int i;
num_controls = sizeof(control_labels) / sizeof(control_labels[0]);
assert(num_controls == sizeof(control_names) / sizeof(control_names[0]));
num_controls = Py_ARRAY_LENGTH(control_labels);
assert(num_controls == Py_ARRAY_LENGTH(control_names));
labels = PyList_New(num_controls);
names = PyList_New(num_controls);

View file

@ -2895,9 +2895,9 @@ posix__getfullpathname(PyObject *self, PyObject *args)
DWORD result;
PyObject *v;
result = GetFullPathNameW(wpath,
sizeof(woutbuf)/sizeof(woutbuf[0]),
Py_ARRAY_LENGTH(woutbuf),
woutbuf, &wtemp);
if (result > sizeof(woutbuf)/sizeof(woutbuf[0])) {
if (result > Py_ARRAY_LENGTH(woutbuf)) {
woutbufp = malloc(result * sizeof(Py_UNICODE));
if (!woutbufp)
return PyErr_NoMemory();
@ -2920,7 +2920,7 @@ posix__getfullpathname(PyObject *self, PyObject *args)
PyUnicode_FSConverter, &opath))
return NULL;
path = PyBytes_AsString(opath);
if (!GetFullPathName(path, sizeof(outbuf)/sizeof(outbuf[0]),
if (!GetFullPathName(path, Py_ARRAY_LENGTH(outbuf),
outbuf, &temp)) {
win32_error("GetFullPathName", path);
Py_DECREF(opath);
@ -4903,7 +4903,7 @@ static PyObject *
cpu_set_repr(Py_cpu_set *set)
{
return PyUnicode_FromFormat("<cpu_set with %li entries>", set->ncpus);
}
}
static Py_ssize_t
cpu_set_len(Py_cpu_set *set)
@ -5656,7 +5656,7 @@ posix_getlogin(PyObject *self, PyObject *noargs)
PyObject *result = NULL;
#ifdef MS_WINDOWS
wchar_t user_name[UNLEN + 1];
DWORD num_chars = sizeof(user_name)/sizeof(user_name[0]);
DWORD num_chars = Py_ARRAY_LENGTH(user_name);
if (GetUserNameW(user_name, &num_chars)) {
/* num_chars is the number of unicode chars plus null terminator */

View file

@ -3812,7 +3812,7 @@ socket_gethostname(PyObject *self, PyObject *unused)
version of the hostname, whereas we need a Unicode string.
Otherwise, gethostname apparently also returns the DNS name. */
wchar_t buf[MAX_COMPUTERNAME_LENGTH + 1];
DWORD size = sizeof(buf) / sizeof(wchar_t);
DWORD size = Py_ARRAY_LENGTH(buf);
PyObject *result;
if (!GetComputerNameExW(ComputerNamePhysicalDnsHostname, buf, &size)) {
if (GetLastError() == ERROR_MORE_DATA) {
@ -6281,7 +6281,7 @@ PyInit__socket(void)
DWORD codes[] = {SIO_RCVALL, SIO_KEEPALIVE_VALS};
const char *names[] = {"SIO_RCVALL", "SIO_KEEPALIVE_VALS"};
int i;
for(i = 0; i<sizeof(codes)/sizeof(*codes); ++i) {
for(i = 0; i<Py_ARRAY_LENGTH(codes); ++i) {
PyObject *tmp;
tmp = PyLong_FromUnsignedLong(codes[i]);
if (tmp == NULL)

View file

@ -439,7 +439,7 @@ unicodedata_decomposition(PyObject *self, PyObject *args)
from Tools/unicode/makeunicodedata.py, it should not be possible
to overflow decomp_prefix. */
prefix_index = decomp_data[index] & 255;
assert(prefix_index < (sizeof(decomp_prefix)/sizeof(*decomp_prefix)));
assert(prefix_index < Py_ARRAY_LENGTH(decomp_prefix));
/* copy prefix */
i = strlen(decomp_prefix[prefix_index]);