diff --git a/share/trick/trick_ver.txt b/share/trick/trick_ver.txt index fd277231..260cdd09 100644 --- a/share/trick/trick_ver.txt +++ b/share/trick/trick_ver.txt @@ -1 +1 @@ -current_version = "17.5.0" +current_version = "17.6.dev" diff --git a/trick_source/sim_services/VariableServer/var_server_ext.cpp b/trick_source/sim_services/VariableServer/var_server_ext.cpp index 4cb9610d..dbc7e305 100644 --- a/trick_source/sim_services/VariableServer/var_server_ext.cpp +++ b/trick_source/sim_services/VariableServer/var_server_ext.cpp @@ -1,5 +1,6 @@ #include +#include #include "trick/VariableServer.hh" #include "trick/exec_proto.h" @@ -8,6 +9,7 @@ #include "trick/memorymanager_c_intf.h" #include "trick/map_trick_units_to_udunits.hh" + extern Trick::VariableServer * the_vs ; Trick::VariableServerThread * get_vst() { @@ -530,11 +532,14 @@ int var_set_base( const char * var , T value , const char * units ) { v_tree.v_data = &v_data ; var_set_value( v_data , value) ; if ( units != NULL ) { - ref->units = (char *)(map_trick_units_to_udunits(units).c_str()) ; + ref->units = strdup(map_trick_units_to_udunits(units).c_str()) ; } else { - ref->units = (char *)units ; + ref->units = NULL ; } ref_assignment(ref , &v_tree) ; + if(ref->units != NULL) { + free(ref->units) ; + } free(ref) ; } else { message_publish(MSG_WARNING,"Cannot assign to %s because io_spec does not allow input\n", var) ;