From 0e3d34e48f5d5ed3845b1858a66008ab87c55af8 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Fri, 17 Jul 2020 12:38:15 +0200 Subject: BLI: add StringRefNull.c_str() method This should be used whenever you rely on the fact, that the returned pointer points to the beginning of a null-terminated array. --- source/blender/blenkernel/intern/simulation.cc | 2 +- source/blender/blenlib/BLI_string_ref.hh | 12 +++++++++++- source/blender/nodes/NOD_derived_node_tree.hh | 2 +- source/blender/nodes/NOD_node_tree_multi_function.hh | 2 +- source/blender/nodes/NOD_node_tree_ref.hh | 2 +- 5 files changed, 15 insertions(+), 5 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/simulation.cc b/source/blender/blenkernel/intern/simulation.cc index b57d85e66ad..fdb0f0b235f 100644 --- a/source/blender/blenkernel/intern/simulation.cc +++ b/source/blender/blenkernel/intern/simulation.cc @@ -399,7 +399,7 @@ static void add_missing_particle_states(Simulation *simulation, Spandata(), but can only be called on a StringRefNull. + */ + const char *c_str() const + { + return data_; + } }; /** diff --git a/source/blender/nodes/NOD_derived_node_tree.hh b/source/blender/nodes/NOD_derived_node_tree.hh index 24144496c92..84370dcd399 100644 --- a/source/blender/nodes/NOD_derived_node_tree.hh +++ b/source/blender/nodes/NOD_derived_node_tree.hh @@ -477,7 +477,7 @@ inline Span DerivedNodeTree::nodes() const inline Span DerivedNodeTree::nodes_by_type(StringRefNull idname) const { - const bNodeType *nodetype = nodeTypeFind(idname.data()); + const bNodeType *nodetype = nodeTypeFind(idname.c_str()); return this->nodes_by_type(nodetype); } diff --git a/source/blender/nodes/NOD_node_tree_multi_function.hh b/source/blender/nodes/NOD_node_tree_multi_function.hh index d40a630c9f2..f7a1fbb114d 100644 --- a/source/blender/nodes/NOD_node_tree_multi_function.hh +++ b/source/blender/nodes/NOD_node_tree_multi_function.hh @@ -240,7 +240,7 @@ class MFNetworkBuilderBase { BLI_STATIC_ASSERT((std::is_base_of_v), ""); void *buffer = common_.resources.linear_allocator().allocate(sizeof(T), alignof(T)); T *fn = new (buffer) T(std::forward(args)...); - common_.resources.add(destruct_ptr(fn), fn->name().data()); + common_.resources.add(destruct_ptr(fn), fn->name().c_str()); return *fn; } }; diff --git a/source/blender/nodes/NOD_node_tree_ref.hh b/source/blender/nodes/NOD_node_tree_ref.hh index b5e4a768bd3..907184125b8 100644 --- a/source/blender/nodes/NOD_node_tree_ref.hh +++ b/source/blender/nodes/NOD_node_tree_ref.hh @@ -405,7 +405,7 @@ inline Span NodeTreeRef::nodes() const inline Span NodeTreeRef::nodes_by_type(StringRefNull idname) const { - const bNodeType *nodetype = nodeTypeFind(idname.data()); + const bNodeType *nodetype = nodeTypeFind(idname.c_str()); return this->nodes_by_type(nodetype); } -- cgit v1.2.3