From 3bece7f73ebc48c8dbc3b9c711c5d1e5f189c6fa Mon Sep 17 00:00:00 2001 From: Scott Fennell Date: Tue, 17 May 2022 11:42:08 -0500 Subject: [PATCH] #1260 access c_str of reference not temporary value for var_server_get_user_tag (#1264) closes #1260 --- include/trick/VariableServerListenThread.hh | 1 + .../VariableServer/VariableServerListenThread.cpp | 4 ++++ trick_source/sim_services/VariableServer/var_server_ext.cpp | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/trick/VariableServerListenThread.hh b/include/trick/VariableServerListenThread.hh index 9fd7085f..20f54a48 100644 --- a/include/trick/VariableServerListenThread.hh +++ b/include/trick/VariableServerListenThread.hh @@ -29,6 +29,7 @@ namespace Trick { void set_port(unsigned short in_port) ; std::string get_user_tag() ; + std::string& get_user_tag_ref() ; void set_user_tag(std::string in_tag) ; void set_source_address(const char * address) ; diff --git a/trick_source/sim_services/VariableServer/VariableServerListenThread.cpp b/trick_source/sim_services/VariableServer/VariableServerListenThread.cpp index 06d25df1..7dbc5cff 100644 --- a/trick_source/sim_services/VariableServer/VariableServerListenThread.cpp +++ b/trick_source/sim_services/VariableServer/VariableServerListenThread.cpp @@ -47,6 +47,10 @@ std::string Trick::VariableServerListenThread::get_user_tag() { return user_tag ; } +std::string& Trick::VariableServerListenThread::get_user_tag_ref() { + return user_tag ; +} + void Trick::VariableServerListenThread::set_user_tag(std::string in_tag) { user_tag = in_tag ; } diff --git a/trick_source/sim_services/VariableServer/var_server_ext.cpp b/trick_source/sim_services/VariableServer/var_server_ext.cpp index 5810552a..5a569b02 100644 --- a/trick_source/sim_services/VariableServer/var_server_ext.cpp +++ b/trick_source/sim_services/VariableServer/var_server_ext.cpp @@ -434,7 +434,7 @@ extern "C" void var_server_set_source_address(const char * source_address) { * C wrapper Trick::VariableServer::get_user_tag */ extern "C" const char * var_server_get_user_tag(void) { - return(the_vs->get_listen_thread().get_user_tag().c_str()) ; + return(the_vs->get_listen_thread().get_user_tag_ref().c_str()) ; } /**