On Mon, Apr 26, 2010 at 11:31 AM, <odea...@apache.org> wrote: > Author: odeakin > Date: Mon Apr 26 16:31:15 2010 > New Revision: 938116 > > URL: http://svn.apache.org/viewvc?rev=938116&view=rev > Log: > Make sure that we use a consistent encoding across platforms, as getBytes() > and String(byte[]) use the default platform encoding if it is not specified > which causes these calls to fail on, for example, z/OS. > > Modified: > > harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/platform/Environment.java > > Modified: > harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/platform/Environment.java > URL: > http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/platform/Environment.java?rev=938116&r1=938115&r2=938116&view=diff > ============================================================================== > --- > harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/platform/Environment.java > (original) > +++ > harmony/enhanced/java/trunk/classlib/modules/luni/src/main/java/org/apache/harmony/luni/platform/Environment.java > Mon Apr 26 16:31:15 2010 > @@ -16,6 +16,7 @@ > > package org.apache.harmony.luni.platform; > > +import java.io.UnsupportedEncodingException; > import java.util.Collections; > import java.util.HashMap; > import java.util.Map; > @@ -63,11 +64,16 @@ public class Environment { > * @return the value of the environment variable specified > */ > public static String getenv(String name) { > - byte[] env = getEnvByName(name.getBytes()); > - if (null == env) { > - return null; > - } > - return new String(env); > + try { > + byte[] env = getEnvByName(name.getBytes("UTF-8")); > + if (null == env) { > + return null; > + } > + return new String(env, "UTF-8"); > + } catch (UnsupportedEncodingException e) { > + // UTF-8 should always be supported so this should not be reached > + throw new RuntimeException(e);
Any objections to using the 'throw new AssertionError(e)' idiom in this case instead of RuntimeException? > + } > } > > public static class EnvironmentMap extends HashMap<String, String> { > > >