diff --git a/Lib/csharp/std_string.i b/Lib/csharp/std_string.i index 6642c8d2b..219a511b1 100644 --- a/Lib/csharp/std_string.i +++ b/Lib/csharp/std_string.i @@ -96,7 +96,8 @@ class string; return $null; } /* possible thread/reentrant code problem */ - static std::string $1_str($input); + static std::string $1_str; + $1_str = $input; $result = &$1_str; %} %typemap(directorin) const string & %{ $input = SWIG_csharp_string_callback($1.c_str()); %} diff --git a/Lib/java/std_string.i b/Lib/java/std_string.i index 83f67b29c..38e936b04 100644 --- a/Lib/java/std_string.i +++ b/Lib/java/std_string.i @@ -93,7 +93,8 @@ class string; const char *$1_pstr = (const char *)jenv->GetStringUTFChars($input, 0); if (!$1_pstr) return $null; /* possible thread/reentrant code problem */ - static std::string $1_str($1_pstr); + static std::string $1_str; + $1_str = $1_pstr; $result = &$1_str; jenv->ReleaseStringUTFChars($input, $1_pstr); %}