about summary refs log tree commit diff
path: root/locale
diff options
context:
space:
mode:
Diffstat (limited to 'locale')
-rw-r--r--locale/lc-collate.c3
-rw-r--r--locale/setlocale.c35
2 files changed, 21 insertions, 17 deletions
diff --git a/locale/lc-collate.c b/locale/lc-collate.c
index a012672b50..c448e1079d 100644
--- a/locale/lc-collate.c
+++ b/locale/lc-collate.c
@@ -45,6 +45,8 @@ const u_int32_t *__collate_symbol_classeswc = _nl_C_LC_COLLATE_symbol_classes;
 void
 _nl_postload_collate (void)
 {
+#if 0
+  /* XXX For now */
 #define paste(a,b) paste1(a,b)
 #define paste1(a,b) a##b
 
@@ -61,4 +63,5 @@ _nl_postload_collate (void)
   __collate_symbol_hash = current (SYMB_HASH);
   __collate_symbol_strings = (const char *) current (SYMB_STR_POOL);
   __collate_symbol_classeswc = current (SYMB_CLASSWC);
+#endif
 }
diff --git a/locale/setlocale.c b/locale/setlocale.c
index c0f453cd94..8f40520c6e 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -305,26 +305,27 @@ setlocale (int category, const char *locale)
 
       /* Load the new data for each category.  */
       while (category-- > 0)
-	{
-	  /* XXX hack.  Remove when collation works.  */
-	  if (category == LC_COLLATE)
-	    {
-	      newdata[category] = NULL;
-	      continue;
-	    }
+	if (category != LC_ALL)
+	  {
+	    /* XXX hack.  Remove when collation works.  */
+	    if (category == LC_COLLATE)
+	      {
+		newdata[category] = NULL;
+		continue;
+	      }
 
-	  newdata[category] = _nl_find_locale (locale_path, locale_path_len,
-					       category,
-					       &newnames[category]);
+	    newdata[category] = _nl_find_locale (locale_path, locale_path_len,
+						 category,
+						 &newnames[category]);
 
-	  if (newdata[category] == NULL)
-	    break;
+	    if (newdata[category] == NULL)
+	      break;
 
-	  /* We must not simply free a global locale since we have no
-	     control over the usage.  So we mark it as un-deletable.  */
-	  if (newdata[category]->usage_count != UNDELETABLE)
-	    newdata[category]->usage_count = UNDELETABLE;
-	}
+	    /* We must not simply free a global locale since we have no
+	       control over the usage.  So we mark it as un-deletable.  */
+	    if (newdata[category]->usage_count != UNDELETABLE)
+	      newdata[category]->usage_count = UNDELETABLE;
+	  }
 
       /* Create new composite name.  */
       composite = (category >= 0