Print this page
2964 need POSIX 2008 locale object support

@@ -63,10 +63,42 @@
 
 /* Exposed externally to other parts of libc. */
 collate_info_t                  *_collate_info;
 int _collate_load_error = 1;
 
+struct xlocale_collate __xlocale_global_collate = {
+        {{0}, "C"}, 1, 0
+};
+
+struct xlocale_collate __xlocale_C_collate = {
+        {{0}, "C"}, 1, 0
+};
+
+static void
+destruct_collate(void *t)
+{
+        struct xlocale_collate *table = t;
+
+        /* XXX */;
+}
+
+void *
+__collate_load(const char *encoding, locale_t unused)
+{
+        struct xlocale_collate *table;
+
+        if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0) {
+                return &__xlocale_C_collate;
+        }
+
+        table = calloc(sizeof(struct xlocale_collate), 1);
+        if (table == NULL) {
+                /* XXX */
+        }
+
+        return (table);
+}
 
 int
 _collate_load_tables(const char *encoding)
 {
         int i, chains, z;