From d4236464e6dbc1d1eb76f2c911f90408d93066f8 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 10 Mar 2006 21:47:58 +0000 Subject: [PATCH] Bug 1446319 - variable of same name emitted more than once when more than wstring parameter in director methods git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8996 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Lib/java/std_wstring.i | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Lib/java/std_wstring.i b/Lib/java/std_wstring.i index d46a28758..1bbf72e29 100644 --- a/Lib/java/std_wstring.i +++ b/Lib/java/std_wstring.i @@ -66,14 +66,15 @@ class wstring; jenv->ReleaseStringChars($input, $1_pstr); %} -%typemap(directorin,descriptor="Ljava/lang/String;") wstring -%{jsize $1_len = $1.length(); +%typemap(directorin,descriptor="Ljava/lang/String;") wstring { + jsize $1_len = $1.length(); jchar *conv_buf = new jchar[$1_len]; for (jsize i = 0; i < $1_len; ++i) { conv_buf[i] = (jchar)$1[i]; } $input = jenv->NewString(conv_buf, $1_len); - delete [] conv_buf; %} + delete [] conv_buf; +} %typemap(out) wstring %{jsize $1_len = $1.length(); @@ -137,14 +138,15 @@ class wstring; $1 = &$1_str; jenv->ReleaseStringChars($input, $1_pstr); %} -%typemap(directorin,descriptor="Ljava/lang/String;") const wstring & -%{jsize $1_len = $1.length(); +%typemap(directorin,descriptor="Ljava/lang/String;") const wstring & { + jsize $1_len = $1.length(); jchar *conv_buf = new jchar[$1_len]; for (jsize i = 0; i < $1_len; ++i) { conv_buf[i] = (jchar)($1)[i]; } $input = jenv->NewString(conv_buf, $1_len); - delete [] conv_buf; %} + delete [] conv_buf; +} %typemap(out) const wstring & %{jsize $1_len = $1->length();