Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 27 Sep 1999 07:02:38 +0000 (07:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 27 Sep 1999 07:02:38 +0000 (07:02 +0000)
1999-09-26  Ulrich Drepper  <drepper@cygnus.com>

* locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fix
error message printing.  Correctly test whether all characters of
current token are used.
(ctype_read): NUL terminate last_str.

ChangeLog
locale/programs/ld-ctype.c
nscd/connections.c

index 23d02bc..50d5060 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+1999-09-26  Ulrich Drepper  <drepper@cygnus.com>
+
+       * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fix
+       error message printing.  Correctly test whether all characters of
+       current token are used.
+       (ctype_read): NUL terminate last_str.
+
 1999-09-26  Thorsten Kukuk  <kukuk@suse.de>
 
        * nscd/connections.c: Invalidate caches on request.
index d587288..c274c0c 100644 (file)
@@ -1148,8 +1148,8 @@ charclass_symbolic_ellipsis (struct linereader *ldfile,
     {
     invalid_range:
       lr_error (ldfile,
-               _("`%s' and `%s' are no valid names for symbolic range"),
-               last_str, nowstr);
+               _("`%s' and `%.*s' are no valid names for symbolic range"),
+               last_str, now->val.str.lenmb, nowstr);
       return;
     }
 
@@ -1166,7 +1166,8 @@ charclass_symbolic_ellipsis (struct linereader *ldfile,
     goto invalid_range;
 
   to = strtoul (nowstr + (cp - last_str), &endp, base);
-  if ((to == UINT_MAX && errno == ERANGE) || *endp != '\0' || from >= to)
+  if ((to == UINT_MAX && errno == ERANGE)
+      || (endp - nowstr) != now->val.str.lenmb || from >= to)
     goto invalid_range;
 
   /* OK, we have a range FROM - TO.  Now we can create the symbolic names.  */
@@ -1778,6 +1779,8 @@ unknown character class `%s' in category `LC_CTYPE'"),
                               &ctype->class_collection_act, wch) |= class_bit;
 
                  last_token = now->tok;
+                 /* Terminate the string.  */
+                 now->val.str.startmb[now->val.str.lenmb] = '\0';
                  last_str = now->val.str.startmb;
                  last_seq = seq;
                  last_wch = wch;
index cbacf96..10f49cd 100644 (file)
@@ -195,7 +195,7 @@ close_sockets (void)
 }
 
 static void
-invalidate_cache (void *key)
+invalidate_cache (char *key)
 {
   dbtype number;