Fix handling of Char constants in JSC typemaps.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13804 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Oliver Buchtala 2012-09-08 01:09:57 +00:00
commit 58e4f9703c

View file

@ -51,7 +51,18 @@ SWIG_JSC_FromCharPtrAndSize(JSContextRef context, const char* carray, size_t siz
// SWIG_InternalNewPointerObj(%const_cast(carray,char *), pchar_descriptor, 0) : SWIG_Py_Void();
return JSValueMakeUndefined(context);
} else {
JSStringRef jsstring = JSStringCreateWithUTF8CString(carray);
JSStringRef jsstring;
if(size < 2) {
char c[size+1];
int i;
for(i=0;i<size;++i) {
c[i] = carray[i];
}
c[size] = 0;
jsstring = JSStringCreateWithUTF8CString(c);
} else {
jsstring = JSStringCreateWithUTF8CString(carray);
}
JSValueRef result = JSValueMakeString(context, jsstring);
JSStringRelease(jsstring);
return result;