Use ARRAY_SIZE to replace (sizeof(a) / sizeof(*a))

This commit is contained in:
Campbell Barton 2014-06-17 02:47:57 +10:00
parent a6e290166b
commit f2a0062042
13 changed files with 18 additions and 17 deletions

@ -1904,4 +1904,4 @@ const BMOpDefine *bmo_opdefines[] = {
&bmo_wireframe_def, &bmo_wireframe_def,
}; };
const int bmo_opdefines_total = (sizeof(bmo_opdefines) / sizeof(void *)); const int bmo_opdefines_total = ARRAY_SIZE(bmo_opdefines);

@ -1352,4 +1352,4 @@ BMWalker *bm_walker_types[] = {
&bmw_ConnectedVertexWalker_Type, /* BMW_CONNECTED_VERTEX */ &bmw_ConnectedVertexWalker_Type, /* BMW_CONNECTED_VERTEX */
}; };
const int bm_totwalkers = sizeof(bm_walker_types) / sizeof(*bm_walker_types); const int bm_totwalkers = ARRAY_SIZE(bm_walker_types);

@ -752,7 +752,7 @@ static const SubDPattern *patterns[] = {
NULL, NULL,
}; };
#define PATTERNS_TOT (sizeof(patterns) / sizeof(void *)) #define PATTERNS_TOT ARRAY_SIZE(patterns)
typedef struct SubDFaceData { typedef struct SubDFaceData {
BMVert *start; BMVert *start;

@ -606,8 +606,7 @@ void PyC_SetHomePath(const char *py_path_bundle)
/* cant use this, on linux gives bug: #23018, TODO: try LANG="en_US.UTF-8" /usr/bin/blender, suggested 22008 */ /* cant use this, on linux gives bug: #23018, TODO: try LANG="en_US.UTF-8" /usr/bin/blender, suggested 22008 */
/* mbstowcs(py_path_bundle_wchar, py_path_bundle, FILE_MAXDIR); */ /* mbstowcs(py_path_bundle_wchar, py_path_bundle, FILE_MAXDIR); */
BLI_strncpy_wchar_from_utf8(py_path_bundle_wchar, py_path_bundle, BLI_strncpy_wchar_from_utf8(py_path_bundle_wchar, py_path_bundle, ARRAY_SIZE(py_path_bundle_wchar));
sizeof(py_path_bundle_wchar) / sizeof(wchar_t));
Py_SetPythonHome(py_path_bundle_wchar); Py_SetPythonHome(py_path_bundle_wchar);
// printf("found python (wchar_t) '%ls'\n", py_path_bundle_wchar); // printf("found python (wchar_t) '%ls'\n", py_path_bundle_wchar);

@ -107,7 +107,7 @@ static PyStructSequence_Desc app_info_desc = {
(char *)"bpy.app", /* name */ (char *)"bpy.app", /* name */
(char *)"This module contains application values that remain unchanged during runtime.", /* doc */ (char *)"This module contains application values that remain unchanged during runtime.", /* doc */
app_info_fields, /* fields */ app_info_fields, /* fields */
(sizeof(app_info_fields) / sizeof(PyStructSequence_Field)) - 1 ARRAY_SIZE(app_info_fields) - 1
}; };
static PyObject *make_app_info(void) static PyObject *make_app_info(void)

@ -26,6 +26,8 @@
#include <Python.h> #include <Python.h>
#include "BLI_utildefines.h"
#include "bpy_app_build_options.h" #include "bpy_app_build_options.h"
static PyTypeObject BlenderAppBuildOptionsType; static PyTypeObject BlenderAppBuildOptionsType;
@ -74,7 +76,7 @@ static PyStructSequence_Desc app_builtopts_info_desc = {
(char *)"bpy.app.build_options", /* name */ (char *)"bpy.app.build_options", /* name */
(char *)"This module contains information about options blender is built with", /* doc */ (char *)"This module contains information about options blender is built with", /* doc */
app_builtopts_info_fields, /* fields */ app_builtopts_info_fields, /* fields */
(sizeof(app_builtopts_info_fields) / sizeof(PyStructSequence_Field)) - 1 ARRAY_SIZE(app_builtopts_info_fields) - 1
}; };
static PyObject *make_builtopts_info(void) static PyObject *make_builtopts_info(void)

@ -60,7 +60,7 @@ static PyStructSequence_Desc app_ffmpeg_info_desc = {
(char *)"bpy.app.ffmpeg", /* name */ (char *)"bpy.app.ffmpeg", /* name */
(char *)"This module contains information about FFmpeg blender is linked against", /* doc */ (char *)"This module contains information about FFmpeg blender is linked against", /* doc */
app_ffmpeg_info_fields, /* fields */ app_ffmpeg_info_fields, /* fields */
(sizeof(app_ffmpeg_info_fields) / sizeof(PyStructSequence_Field)) - 1 ARRAY_SIZE(app_ffmpeg_info_fields) - 1
}; };
static PyObject *make_ffmpeg_info(void) static PyObject *make_ffmpeg_info(void)

@ -71,11 +71,11 @@ static PyStructSequence_Desc app_cb_info_desc = {
(char *)"bpy.app.handlers", /* name */ (char *)"bpy.app.handlers", /* name */
(char *)"This module contains callbacks", /* doc */ (char *)"This module contains callbacks", /* doc */
app_cb_info_fields, /* fields */ app_cb_info_fields, /* fields */
(sizeof(app_cb_info_fields) / sizeof(PyStructSequence_Field)) - 1 ARRAY_SIZE(app_cb_info_fields) - 1
}; };
#if 0 #if 0
# if (BLI_CB_EVT_TOT != ((sizeof(app_cb_info_fields) / sizeof(PyStructSequence_Field)))) # if (BLI_CB_EVT_TOT != ARRAY_SIZE(app_cb_info_fields))
# error "Callbacks are out of sync" # error "Callbacks are out of sync"
# endif # endif
#endif #endif

@ -46,7 +46,7 @@ static PyStructSequence_Desc app_ocio_info_desc = {
(char *)"bpy.app.ocio", /* name */ (char *)"bpy.app.ocio", /* name */
(char *)"This module contains information about OpenColorIO blender is linked against", /* doc */ (char *)"This module contains information about OpenColorIO blender is linked against", /* doc */
app_ocio_info_fields, /* fields */ app_ocio_info_fields, /* fields */
(sizeof(app_ocio_info_fields) / sizeof(PyStructSequence_Field)) - 1 ARRAY_SIZE(app_ocio_info_fields) - 1
}; };
static PyObject *make_ocio_info(void) static PyObject *make_ocio_info(void)

@ -46,7 +46,7 @@ static PyStructSequence_Desc app_oiio_info_desc = {
(char *)"bpy.app.oiio", /* name */ (char *)"bpy.app.oiio", /* name */
(char *)"This module contains information about OpeImageIO blender is linked against", /* doc */ (char *)"This module contains information about OpeImageIO blender is linked against", /* doc */
app_oiio_info_fields, /* fields */ app_oiio_info_fields, /* fields */
(sizeof(app_oiio_info_fields) / sizeof(PyStructSequence_Field)) - 1 ARRAY_SIZE(app_oiio_info_fields) - 1
}; };
static PyObject *make_oiio_info(void) static PyObject *make_oiio_info(void)

@ -390,13 +390,13 @@ static BLF_i18n_contexts_descriptor _contexts[] = BLF_I18NCONTEXTS_DESC;
* This allows us to avoid many handwriting, and above all, to keep all context definition stuff in BLF_translation.h! * This allows us to avoid many handwriting, and above all, to keep all context definition stuff in BLF_translation.h!
*/ */
static PyStructSequence_Field static PyStructSequence_Field
app_translations_contexts_fields[sizeof(_contexts) / sizeof(BLF_i18n_contexts_descriptor)] = {{NULL}}; app_translations_contexts_fields[ARRAY_SIZE(_contexts)] = {{NULL}};
static PyStructSequence_Desc app_translations_contexts_desc = { static PyStructSequence_Desc app_translations_contexts_desc = {
(char *)"bpy.app.translations.contexts", /* name */ (char *)"bpy.app.translations.contexts", /* name */
(char *)"This named tuple contains all pre-defined translation contexts", /* doc */ (char *)"This named tuple contains all pre-defined translation contexts", /* doc */
app_translations_contexts_fields, /* fields */ app_translations_contexts_fields, /* fields */
(sizeof(app_translations_contexts_fields) / sizeof(PyStructSequence_Field)) - 1 ARRAY_SIZE(app_translations_contexts_fields) - 1
}; };
static PyObject *app_translations_contexts_make(void) static PyObject *app_translations_contexts_make(void)

@ -243,7 +243,7 @@ void BPY_python_start(int argc, const char **argv)
/* not essential but nice to set our name */ /* not essential but nice to set our name */
static wchar_t program_path_wchar[FILE_MAX]; /* python holds a reference */ static wchar_t program_path_wchar[FILE_MAX]; /* python holds a reference */
BLI_strncpy_wchar_from_utf8(program_path_wchar, BLI_program_path(), sizeof(program_path_wchar) / sizeof(wchar_t)); BLI_strncpy_wchar_from_utf8(program_path_wchar, BLI_program_path(), ARRAY_SIZE(program_path_wchar));
Py_SetProgramName(program_path_wchar); Py_SetProgramName(program_path_wchar);
/* must run before python initializes */ /* must run before python initializes */

@ -69,12 +69,12 @@ void bpy_intern_string_init(void)
#undef BPY_INTERN_STR #undef BPY_INTERN_STR
BLI_assert(i == (sizeof(bpy_intern_str_arr) / sizeof(*bpy_intern_str_arr))); BLI_assert(i == ARRAY_SIZE(bpy_intern_str_arr));
} }
void bpy_intern_string_exit(void) void bpy_intern_string_exit(void)
{ {
unsigned int i = sizeof(bpy_intern_str_arr) / sizeof(*bpy_intern_str_arr); unsigned int i = ARRAY_SIZE(bpy_intern_str_arr);
while (i--) { while (i--) {
Py_DECREF(bpy_intern_str_arr[i]); Py_DECREF(bpy_intern_str_arr[i]);
} }