jdk/src/share/classes/java/util/Locale.java
changeset 8149 768769e3cddd
parent 7783 8eb31199b5ed
child 8780 c88e159a3e5c
--- 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);
         }