Revert _RuneLocale struct changes until mklocale reacharound
authorguenther <guenther@openbsd.org>
Wed, 27 Jul 2022 22:24:26 +0000 (22:24 +0000)
committerguenther <guenther@openbsd.org>
Wed, 27 Jul 2022 22:24:26 +0000 (22:24 +0000)
can be untangled.

Problem noted by tb@

lib/libc/locale/runetable.c
lib/libc/locale/runetype.h

index 5ef9a05..6adc163 100644 (file)
 #include "citrus_ctype.h"
 
 _RuneLocale _DefaultRuneLocale = {
+    _RUNE_MAGIC_1,
+    "NONE",
+    _DEFAULT_INVALID_RUNE,
+
     {  /*00*/  _CTYPE_C,
                _CTYPE_C,
                _CTYPE_C,
@@ -248,4 +252,5 @@ _RuneLocale _DefaultRuneLocale = {
            { NULL, NULL, NULL },
            { NULL, NULL, NULL },
     },
+    NULL
 };
index dab5db3..ec6e074 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef _NB_RUNETYPE_H_
 #define _NB_RUNETYPE_H_
 
-/* $OpenBSD: runetype.h,v 1.10 2022/07/27 20:00:11 guenther Exp $ */
+/* $OpenBSD: runetype.h,v 1.11 2022/07/27 22:24:26 guenther Exp $ */
 /*     $NetBSD: runetype.h,v 1.18 2003/08/07 16:43:04 agc Exp $        */
 /*-
  * Copyright (c) 1993
@@ -168,10 +168,23 @@ typedef struct _WCTypeEntry {
 #define _WCTYPE_NINDEXES       12
 
 /*
- * The parts of _FileRuneLocale needed at runtime
+ * ctype stuffs
  */
 
+struct old_tabs {
+       /* compatibility with `old' ctype */
+       char ctype_tab[CTYPE_NUM_CHARS + 1];
+       short tolower_tab[256 + 1];
+       short toupper_tab[256 + 1];
+};
+
 typedef struct {
+       /*
+        * copied from _FileRuneLocale
+        */
+       char            rl_magic[8];    /* Magic saying what version we are */
+       char            rl_encoding[32];/* ASCII name of this encoding */
+       rune_t          rl_invalid_rune;
        _RuneType       rl_runetype[_CACHED_RUNES];
        rune_t          rl_maplower[_CACHED_RUNES];
        rune_t          rl_mapupper[_CACHED_RUNES];
@@ -187,6 +200,9 @@ typedef struct {
         */
        char                            *rl_codeset;
        _WCTransEntry                   rl_wctrans[_WCTRANS_NINDEXES];
+
+       struct old_tabs *               rl_tabs;
+
 } _RuneLocale;
 
 /* magic number for LC_CTYPE (rune)locale declaration */