diff options
Diffstat (limited to 'jvmfwk')
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java | 11 | ||||
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/util.cxx | 42 |
2 files changed, 5 insertions, 48 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java b/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java index 0d3503af385f..d863c359a489 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java +++ b/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java @@ -25,9 +25,6 @@ import java.util.*; unfortunately this works only with later update - versions (for example, 1.3.1_07). Therefore we use this scheme. The property string has this form: name=value - - Every character is cast to an integer which value is printed, followed by a - space. If all characters of the string are printed, then a new line is printed. */ public class JREProperties { @@ -40,13 +37,7 @@ public class JREProperties while (e.hasMoreElements()) { String sProp = (String) e.nextElement(); String sCompleteProp = sProp + "=" + p.getProperty(sProp); - char[] arChars = new char[sCompleteProp.length()]; - sCompleteProp.getChars(0, sCompleteProp.length(), arChars, 0); - for (int c = 0; c < arChars.length; c++) { - System.out.print(String.valueOf((int) arChars[c])); - System.out.print(" "); - } - System.out.print("\n"); + System.out.println(sCompleteProp); } } catch(Exception e) diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx index 3b7a2beb2314..85001803bebc 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx @@ -113,9 +113,6 @@ static bool getSDKInfoFromRegistry(vector<OUString> & vecHome); static bool getJREInfoFromRegistry(vector<OUString>& vecJavaHome); #endif -static bool decodeOutput(const OString& s, OUString* out); - - namespace { @@ -384,11 +381,11 @@ bool getJavaProps(const OUString & exePath, #endif //prepare the arguments - sal_Int32 const cArgs = 3; + OUString arg0 = "-Dfile.encoding=UTF8"; OUString arg1 = "-classpath";// + sClassPath; OUString arg2 = sClassPath; OUString arg3("JREProperties"); - rtl_uString *args[cArgs] = {arg1.pData, arg2.pData, arg3.pData}; + rtl_uString *args[] = {arg0.pData, arg1.pData, arg2.pData, arg3.pData}; oslProcess javaProcess= nullptr; oslFileHandle fileOut= nullptr; @@ -401,7 +398,7 @@ bool getJavaProps(const OUString & exePath, oslProcessError procErr = osl_executeProcess_WithRedirectedIO( exePath.pData,//usExe.pData, args, - cArgs, //sal_uInt32 nArguments, + SAL_N_ELEMENTS(args), //sal_uInt32 nArguments, osl_Process_HIDDEN, //oslProcessOption Options, nullptr, //oslSecurity Security, usStartDir.pData,//usStartDir.pData,//usWorkDir.pData, //rtl_uString *strWorkDir, @@ -438,9 +435,7 @@ bool getJavaProps(const OUString & exePath, rs = stdoutReader.readLine( & aLine); if (rs != FileHandleReader::RESULT_OK) break; - OUString sLine; - if (!decodeOutput(aLine, &sLine)) - continue; + OUString sLine = OStringToOUString(aLine, RTL_TEXTENCODING_UTF8); JFW_TRACE2(" \"" << sLine << "\""); sLine = sLine.trim(); if (sLine.isEmpty()) @@ -478,35 +473,6 @@ bool getJavaProps(const OUString & exePath, return ret; } -/* converts the properties printed by JREProperties.class into - readable strings. The strings are encoded as integer values separated - by spaces. - */ -bool decodeOutput(const OString& s, OUString* out) -{ - OSL_ASSERT(out != nullptr); - OUStringBuffer buff(512); - sal_Int32 nIndex = 0; - do - { - OString aToken = s.getToken( 0, ' ', nIndex ); - if (!aToken.isEmpty()) - { - for (sal_Int32 i = 0; i < aToken.getLength(); ++i) - { - if (aToken[i] < '0' || aToken[i] > '9') - return false; - } - sal_Unicode value = static_cast<sal_Unicode>(aToken.toInt32()); - buff.append(value); - } - } while (nIndex >= 0); - - *out = buff.makeStringAndClear(); - return true; -} - - #if defined(_WIN32) static bool getJavaInfoFromRegistry(const wchar_t* szRegKey, |