Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-03-07 21:20:40 +0300
committerJacques Lucke <jacques@blender.org>2020-03-07 21:20:40 +0300
commit5a90d35f790fccfd81ead1c89a395b1b600ab160 (patch)
tree9c099eaa6d9a38eed31181d40e3aca4777cb3d45
parentfb29231e45114e2a4d58eaa9efdbc1156c7090e5 (diff)
use less nested preprocessing
-rw-r--r--source/blender/blenloader/BLO_callback_api.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/source/blender/blenloader/BLO_callback_api.h b/source/blender/blenloader/BLO_callback_api.h
index 9f943bcc523..d408f69665c 100644
--- a/source/blender/blenloader/BLO_callback_api.h
+++ b/source/blender/blenloader/BLO_callback_api.h
@@ -50,18 +50,24 @@ bool BLO_read_requires_endian_switch(BloReader *reader);
typedef void (*BloLinkListFn)(BloReader *reader, void *data);
void BLO_read_list(BloReader *reader, struct ListBase *list, BloLinkListFn callback);
-#define BLO_read_array_endian_corrected(reader, type_name, array_size, ptr) \
+#define BLO_read_int32_array(reader, array_size, ptr) \
BLO_read_update_address(reader, ptr); \
if (BLO_read_requires_endian_switch(reader)) { \
- BLI_endian_switch_##type_name##_array((void *)ptr, array_size); \
+ BLI_endian_switch_int32_array((int32_t *)ptr, array_size); \
}
-#define BLO_read_int32_array(reader, array_size, ptr) \
- BLO_read_array_endian_corrected(reader, int32, array_size, ptr)
#define BLO_read_uint32_array(reader, array_size, ptr) \
- BLO_read_array_endian_corrected(reader, uint32, array_size, ptr)
+ BLO_read_update_address(reader, ptr); \
+ if (BLO_read_requires_endian_switch(reader)) { \
+ BLI_endian_switch_uint32_array((uint32_t *)ptr, array_size); \
+ }
+
#define BLO_read_float_array(reader, array_size, ptr) \
- BLO_read_array_endian_corrected(reader, float, array_size, ptr)
+ BLO_read_update_address(reader, ptr); \
+ if (BLO_read_requires_endian_switch(reader)) { \
+ BLI_endian_switch_float_array((float *)ptr, array_size); \
+ }
+
#define BLO_read_float3_array(reader, array_size, ptr) \
BLO_read_float_array(reader, 3 * (int)(array_size), ptr)