Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/mklocale use _FileRune* instead of _Rune*.



details:   https://anonhg.NetBSD.org/src/rev/da06904d833d
branches:  trunk
changeset: 755608:da06904d833d
user:      tnozaki <tnozaki%NetBSD.org@localhost>
date:      Sat Jun 12 02:51:34 2010 +0000

description:
use _FileRune* instead of _Rune*.

diffstat:

 usr.bin/mklocale/lex.l  |   7 ++-
 usr.bin/mklocale/yacc.y |  85 +++++++++++++++++++++++-------------------------
 2 files changed, 45 insertions(+), 47 deletions(-)

diffs (236 lines):

diff -r fda04bdd529a -r da06904d833d usr.bin/mklocale/lex.l
--- a/usr.bin/mklocale/lex.l    Fri Jun 11 23:52:38 2010 +0000
+++ b/usr.bin/mklocale/lex.l    Sat Jun 12 02:51:34 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lex.l,v 1.16 2009/01/05 06:11:43 tnozaki Exp $ */
+/*     $NetBSD: lex.l,v 1.17 2010/06/12 02:51:34 tnozaki Exp $ */
 
 %{
 /*-
@@ -42,17 +42,18 @@
 #if 0
 static char sccsid[] = "@(#)lex.l      8.1 (Berkeley) 6/6/93";
 #else
-__RCSID("$NetBSD: lex.l,v 1.16 2009/01/05 06:11:43 tnozaki Exp $");
+__RCSID("$NetBSD: lex.l,v 1.17 2010/06/12 02:51:34 tnozaki Exp $");
 #endif
 #endif /* not lint */
 
-#include "runetype_local.h"
 #include <stdio.h>
 #include <stdlib.h>
 
 #include "citrus_namespace.h"
 #include "citrus_bcs.h"
 
+#include "runetype_local.h"
+
 #include "ldef.h"
 #include "yacc.h"
 
diff -r fda04bdd529a -r da06904d833d usr.bin/mklocale/yacc.y
--- a/usr.bin/mklocale/yacc.y   Fri Jun 11 23:52:38 2010 +0000
+++ b/usr.bin/mklocale/yacc.y   Sat Jun 12 02:51:34 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: yacc.y,v 1.29 2010/05/22 17:43:29 tnozaki Exp $        */
+/*     $NetBSD: yacc.y,v 1.30 2010/06/12 02:51:34 tnozaki Exp $        */
 
 %{
 /*-
@@ -43,7 +43,7 @@
 static char sccsid[] = "@(#)yacc.y     8.1 (Berkeley) 6/6/93";
 static char rcsid[] = "$FreeBSD$";
 #else
-__RCSID("$NetBSD: yacc.y,v 1.29 2010/05/22 17:43:29 tnozaki Exp $");
+__RCSID("$NetBSD: yacc.y,v 1.30 2010/06/12 02:51:34 tnozaki Exp $");
 #endif
 #endif /* not lint */
 
@@ -52,7 +52,6 @@
 #include <arpa/inet.h> /* Needed for htonl on POSIX systems. */
 
 #include <err.h>
-#include "runetype_local.h"
 #include <locale.h>
 #include <stddef.h>
 #include <stdio.h>
@@ -61,6 +60,8 @@
 #include <unistd.h>
 #include <ctype.h>
 
+#include "runetype_local.h"
+
 #include "ldef.h"
 
 const char     *locale_file = "<stdout>";
@@ -69,7 +70,10 @@
 rune_map       mapupper = { { 0, }, };
 rune_map       types = { { 0, }, };
 
-_NBRuneLocale  new_locale = { { 0, }, };
+_FileRuneLocale new_locale = { { 0, }, };
+
+size_t rl_variable_len = (size_t)0; 
+void *rl_variable = NULL;
 
 __nbrune_t     charsetbits = (__nbrune_t)0x00000000;
 #if 0
@@ -134,10 +138,11 @@
        ;
 
 entry  :       ENCODING STRING
-               { strncpy(new_locale.rl_encoding, $2, sizeof(new_locale.rl_encoding)); }
+               { strncpy(new_locale.frl_encoding, $2, sizeof(new_locale.frl_encoding)); }
        |       VARIABLE
-               { new_locale.rl_variable_len = strlen($1) + 1;
-                 new_locale.rl_variable = strdup($1);
+               { rl_variable_len = strlen($1) + 1;
+                 rl_variable = strdup($1);
+                 new_locale.frl_variable_len = htonl((u_int32_t)rl_variable_len);
                }
        |       CHARSET RUNE
                { charsetbits = $2; charsetmask = 0x0000007f; }
@@ -176,7 +181,7 @@
                  }
                }
        |       INVALID RUNE
-               { new_locale.rl_invalid_rune = $2; }
+               { new_locale.frl_invalid_rune = htonl((u_int32_t)$2); }
        |       LIST list
                { set_map(&types, $2, $1); }
        |       MAPLOWER map
@@ -308,8 +313,8 @@
        maplower.map[x] = x;
     }
 
-    new_locale.rl_invalid_rune = _NB_DEFAULT_INVALID_RUNE;
-    memcpy(new_locale.rl_magic, _NB_RUNE_MAGIC_1, sizeof(new_locale.rl_magic));
+    new_locale.frl_invalid_rune = htonl((u_int32_t)_NB_DEFAULT_INVALID_RUNE);
+    memcpy(new_locale.frl_magic, _NB_RUNE_MAGIC_1, sizeof(new_locale.frl_magic));
 
     yyparse();
 
@@ -624,10 +629,8 @@
 {
     int x, n;
     rune_list *list;
-    _FileRuneLocale file_new_locale;
     FILE *fp = ofile;
-
-    memset(&file_new_locale, 0, sizeof(file_new_locale));
+    u_int32_t nranges;
 
     /*
      * See if we can compress some of the istype arrays
@@ -642,13 +645,6 @@
        }
     }
 
-    memcpy(&file_new_locale.frl_magic, new_locale.rl_magic,
-       sizeof(file_new_locale.frl_magic));
-    memcpy(&file_new_locale.frl_encoding, new_locale.rl_encoding,
-       sizeof(file_new_locale.frl_encoding));
-
-    file_new_locale.frl_invalid_rune = htonl(new_locale.rl_invalid_rune);
-
     /*
      * Fill in our tables.  Do this in network order so that
      * diverse machines have a chance of sharing data.
@@ -656,9 +652,9 @@
      *  word size.  Sigh.  We tried.)
      */
     for (x = 0; x < _CTYPE_CACHE_SIZE; ++x) {
-       file_new_locale.frl_runetype[x] = htonl(types.map[x]);
-       file_new_locale.frl_maplower[x] = htonl(maplower.map[x]);
-       file_new_locale.frl_mapupper[x] = htonl(mapupper.map[x]);
+       new_locale.frl_runetype[x] = htonl(types.map[x]);
+       new_locale.frl_maplower[x] = htonl(maplower.map[x]);
+       new_locale.frl_mapupper[x] = htonl(mapupper.map[x]);
     }
 
     /*
@@ -666,32 +662,33 @@
      */
     list = types.root;
 
+    nranges = (u_int32_t)0;
     while (list) {
-       new_locale.rl_runetype_ext.rr_nranges++;
+       ++nranges;
        list = list->next;
     }
-    file_new_locale.frl_runetype_ext.frr_nranges =
-       htonl(new_locale.rl_runetype_ext.rr_nranges);
+    new_locale.frl_runetype_ext.frr_nranges =
+       htonl(nranges);
 
     list = maplower.root;
 
+    nranges = (u_int32_t)0;
     while (list) {
-       new_locale.rl_maplower_ext.rr_nranges++;
+       ++nranges;
        list = list->next;
     }
-    file_new_locale.frl_maplower_ext.frr_nranges =
-       htonl(new_locale.rl_maplower_ext.rr_nranges);
+    new_locale.frl_maplower_ext.frr_nranges =
+       htonl(nranges);
 
     list = mapupper.root;
 
+    nranges = (u_int32_t)0;
     while (list) {
-       new_locale.rl_mapupper_ext.rr_nranges++;
+       ++nranges;
        list = list->next;
     }
-    file_new_locale.frl_mapupper_ext.frr_nranges =
-       htonl(new_locale.rl_mapupper_ext.rr_nranges);
-
-    file_new_locale.frl_variable_len = htonl(new_locale.rl_variable_len);
+    new_locale.frl_mapupper_ext.frr_nranges =
+       htonl(nranges);
 
     /*
      * Okay, we are now ready to write the new locale file.
@@ -700,8 +697,8 @@
     /*
      * PART 1: The _RuneLocale structure
      */
-    if (fwrite((char *)&file_new_locale, sizeof(file_new_locale), 1, fp) != 1)
-       err(1, "writing _RuneLocale to %s", locale_file);
+    if (fwrite((char *)&new_locale, sizeof(new_locale), 1, fp) != 1)
+       err(1, "writing _FileRuneLocale to %s", locale_file);
     /*
      * PART 2: The runetype_ext structures (not the actual tables)
      */
@@ -761,20 +758,20 @@
     /*
      * PART 5: And finally the variable data
      */
-    if (new_locale.rl_variable_len != 0 &&
-       fwrite((char *)new_locale.rl_variable,
-              new_locale.rl_variable_len, 1, fp) != 1)
+    if (rl_variable_len != 0 &&
+       fwrite((char *)rl_variable, rl_variable_len, 1, fp) != 1)
        err(1, "writing variable data to %s", locale_file);
     fclose(fp);
 
     if (!debug)
        return;
 
-    if (new_locale.rl_encoding[0])
-       fprintf(stderr, "ENCODING       %s\n", new_locale.rl_encoding);
-    if (new_locale.rl_variable)
-       fprintf(stderr, "VARIABLE       %s\n",
-               (char *)new_locale.rl_variable);
+    if (new_locale.frl_encoding[0])
+       fprintf(stderr, "ENCODING       %.*s\n",
+           (int)sizeof(new_locale.frl_encoding), new_locale.frl_encoding);
+    if (rl_variable)
+       fprintf(stderr, "VARIABLE       %.*s\n",
+           (int)rl_variable_len, (char *)rl_variable);
 
     fprintf(stderr, "\nMAPLOWER:\n\n");
 



Home | Main Index | Thread Index | Old Index