[Bf-blender-cvs] [f0f6c96a920] master: BLI_string: macros that de-duplicate sizeof arg

Campbell Barton noreply at git.blender.org
Thu Apr 5 16:47:09 CEST 2018


Commit: f0f6c96a9204419c429c38915d9340d092b570c4
Author: Campbell Barton
Date:   Thu Apr 5 16:44:48 2018 +0200
Branches: master
https://developer.blender.org/rBf0f6c96a9204419c429c38915d9340d092b570c4

BLI_string: macros that de-duplicate sizeof arg

===================================================================

M	source/blender/blenlib/BLI_string.h

===================================================================

diff --git a/source/blender/blenlib/BLI_string.h b/source/blender/blenlib/BLI_string.h
index d137806c575..48be9d1842f 100644
--- a/source/blender/blenlib/BLI_string.h
+++ b/source/blender/blenlib/BLI_string.h
@@ -103,6 +103,20 @@ int BLI_string_find_split_words(
         const char delim, int r_words[][2], int words_max)
         ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
 
+/** \name String Copy/Format Macros
+ * Avoid repeating destination with `sizeof(..)`.
+ * \note `ARRAY_SIZE` allows pointers on some platforms.
+ * \{ */
+#define STRNCPY(dst, src) \
+    BLI_strncpy(dst, src, ARRAY_SIZE(dst))
+#define STRNCPY_RLEN(dst, src) \
+    BLI_strncpy_rlen(dst, src, ARRAY_SIZE(dst))
+#define SNPRINTF(dst, format, ...) \
+    BLI_snprintf(dst, ARRAY_SIZE(dst), format, __VA_ARGS__)
+#define SNPRINTF_RLEN(dst, format, ...) \
+    BLI_snprintf_rlen(dst, ARRAY_SIZE(dst), format, __VA_ARGS__)
+/** \} */
+
 #ifdef __cplusplus
 }
 #endif



More information about the Bf-blender-cvs mailing list