summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2005-10-24 07:21:25 +0000
committerRüdiger Timm <rt@openoffice.org>2005-10-24 07:21:25 +0000
commit8d0433fc64bd0a8633c2be73fb02c37533cc3d8b (patch)
tree32574d7ff9ec99b72a90acb0a060c81f4d351aa2 /connectivity
parent66cccb91978b4a210454795ffc8eece7c4db1cf0 (diff)
INTEGRATION: CWS dba201d (1.8.10); FILE MERGED
2005/09/27 08:12:34 oj 1.8.10.1: commits from dba201c
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/hsqldb/HStorageMap.cxx23
1 files changed, 15 insertions, 8 deletions
diff --git a/connectivity/source/drivers/hsqldb/HStorageMap.cxx b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
index 7116c4698cb2..fceb20c1f995 100644
--- a/connectivity/source/drivers/hsqldb/HStorageMap.cxx
+++ b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: HStorageMap.cxx,v $
*
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
*
- * last change: $Author: rt $ $Date: 2005-09-08 06:04:08 $
+ * last change: $Author: rt $ $Date: 2005-10-24 08:21:25 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -170,22 +170,29 @@ namespace connectivity
::rtl::OUString StorageContainer::jstring2ustring(JNIEnv * env, jstring jstr)
{
- const char * cstr;
- rtl_uString * ustr = NULL;
- cstr = env->GetStringUTFChars(jstr, NULL);
if (JNI_FALSE != env->ExceptionCheck())
{
env->ExceptionClear();
OSL_ENSURE(0,"ExceptionClear");
}
- rtl_uString_newFromAscii(&ustr, cstr);
- env->ReleaseStringUTFChars(jstr, cstr);
+ ::rtl::OUString aStr;
+ if ( jstr )
+ {
+ jboolean bCopy(sal_True);
+ const jchar* pChar = env->GetStringChars(jstr,&bCopy);
+ jsize len = env->GetStringLength(jstr);
+ aStr = ::rtl::OUString(pChar,len);
+
+ if(bCopy)
+ env->ReleaseStringChars(jstr,pChar);
+ }
+
if (JNI_FALSE != env->ExceptionCheck())
{
env->ExceptionClear();
OSL_ENSURE(0,"ExceptionClear");
}
- return ustr ? ::rtl::OUString(ustr,SAL_NO_ACQUIRE) : ::rtl::OUString();
+ return aStr;
}
// -----------------------------------------------------------------------------