forked from bartvdbraak/blender
BLI_array: utility to check memory is zerod
This commit is contained in:
parent
4bd5b824b0
commit
a970ac5d55
@ -74,10 +74,18 @@ bool _bli_array_iter_span(
|
|||||||
bool use_wrap, bool use_delimit_bounds,
|
bool use_wrap, bool use_delimit_bounds,
|
||||||
bool (*test_fn)(const void *arr_item, void *user_data), void *user_data,
|
bool (*test_fn)(const void *arr_item, void *user_data), void *user_data,
|
||||||
unsigned int span_step[2], unsigned int *r_span_len);
|
unsigned int span_step[2], unsigned int *r_span_len);
|
||||||
#define BLI_array_iter_span(arr, arr_len, use_wrap, use_delimit_bounds, test_fn, user_data, \
|
#define BLI_array_iter_span( \
|
||||||
span_step, r_span_len) \
|
arr, arr_len, use_wrap, use_delimit_bounds, test_fn, user_data, \
|
||||||
|
span_step, r_span_len) \
|
||||||
_bli_array_iter_span( \
|
_bli_array_iter_span( \
|
||||||
arr, arr_len, sizeof(*(arr)), use_wrap, use_delimit_bounds, test_fn, user_data, \
|
arr, arr_len, sizeof(*(arr)), use_wrap, use_delimit_bounds, test_fn, user_data, \
|
||||||
span_step, r_span_len)
|
span_step, r_span_len)
|
||||||
|
|
||||||
|
bool _bli_array_is_zerod(
|
||||||
|
const void *arr,
|
||||||
|
unsigned int arr_len, size_t arr_stride);
|
||||||
|
#define BLI_array_is_zerod(arr, arr_len) \
|
||||||
|
_bli_array_is_zerod( \
|
||||||
|
arr, arr_len, sizeof(*(arr)))
|
||||||
|
|
||||||
#endif /* __BLI_ARRAY_UTILS_H__ */
|
#endif /* __BLI_ARRAY_UTILS_H__ */
|
||||||
|
@ -308,3 +308,20 @@ bool _bli_array_iter_span(
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple utility to check memory is zero'd.
|
||||||
|
*/
|
||||||
|
bool _bli_array_is_zerod(
|
||||||
|
const void *arr_v,
|
||||||
|
unsigned int arr_len, size_t arr_stride)
|
||||||
|
{
|
||||||
|
const char *arr_step = (const char *)arr_v;
|
||||||
|
size_t i = arr_stride * arr_len;
|
||||||
|
while (i--) {
|
||||||
|
if (*(arr_step++)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user