--- a/jdk/src/share/classes/java/util/Locale.java Mon Feb 07 21:34:31 2011 +0300
+++ b/jdk/src/share/classes/java/util/Locale.java Tue Feb 08 09:04:30 2011 -0800
@@ -1265,7 +1265,9 @@
StringBuilder buf = new StringBuilder();
String subtag = tag.getLanguage();
- buf.append(LanguageTag.canonicalizeLanguage(subtag));
+ if (subtag.length() > 0) {
+ buf.append(LanguageTag.canonicalizeLanguage(subtag));
+ }
subtag = tag.getScript();
if (subtag.length() > 0) {
@@ -1294,7 +1296,10 @@
subtag = tag.getPrivateuse();
if (subtag.length() > 0) {
- buf.append(LanguageTag.SEP).append(LanguageTag.PRIVATEUSE).append(LanguageTag.SEP);
+ if (buf.length() > 0) {
+ buf.append(LanguageTag.SEP);
+ }
+ buf.append(LanguageTag.PRIVATEUSE).append(LanguageTag.SEP);
// preserve casing
buf.append(subtag);
}