add jstring.i for ruby

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8138 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2005-12-30 10:51:35 +00:00
commit dc915a44a1
4 changed files with 54 additions and 6 deletions

View file

@ -42,18 +42,18 @@ SWIG_AsVal(jstring)(PyObject *obj, jstring *val)
%fragment(SWIG_From_frag(jstring),"header") {
SWIGINTERNINLINE PyObject *
SWIG_From(jstring)(jstring js)
SWIG_From(jstring)(jstring val)
{
if (!js) {
if (!val) {
return SWIG_Py_Void();
}
if (sizeof(Py_UNICODE) == sizeof(jchar)) {
return PyUnicode_FromUnicode((const Py_UNICODE *) JvGetStringChars(js),
js->length());
return PyUnicode_FromUnicode((const Py_UNICODE *) JvGetStringChars(val),
JvGetStringUTFLength(val));
} else {
int len = js->length();
int len = JvGetStringUTFLength(val);
Py_UNICODE pchars[len];
jchar *jchars = JvGetStringChars(js);
jchar *jchars = JvGetStringChars(val);
for (int i = 0; i < len; i++) {
pchars[i] = jchars[i];