diff options
author | Jacques Lucke <jacques@blender.org> | 2020-04-25 00:35:17 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-04-25 00:35:17 +0300 |
commit | 1f2b1d520fce05acfd06ca42ec939d0017085232 (patch) | |
tree | d50f382dedab3358f7da13f2a94d40ffc7e4ed97 /source/blender/blenlib | |
parent | ebe0d7ca5e7a10188308f1a9882e2d663ba1cef5 (diff) |
BLI: improve StringRef.copy
Diffstat (limited to 'source/blender/blenlib')
-rw-r--r-- | source/blender/blenlib/BLI_string_ref.hh | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/source/blender/blenlib/BLI_string_ref.hh b/source/blender/blenlib/BLI_string_ref.hh index 6c750a81e06..eacc501375a 100644 --- a/source/blender/blenlib/BLI_string_ref.hh +++ b/source/blender/blenlib/BLI_string_ref.hh @@ -94,12 +94,28 @@ class StringRefBase { return m_data + m_size; } - void copy_to__with_null(char *dst) const + void unsafe_copy(char *dst) const { memcpy(dst, m_data, m_size); dst[m_size] = '\0'; } + void copy(char *dst, uint dst_size) const + { + if (m_size < dst_size) { + this->unsafe_copy(dst); + } + else { + BLI_assert(false); + dst[0] = '\0'; + } + } + + template<uint N> void copy(char (&dst)[N]) + { + this->copy(dst, N); + } + /** * Returns true when the string begins with the given prefix. Otherwise false. */ |