]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
(parse_charmap): Don't skip error checking when being quiet.
authorUlrich Drepper <drepper@redhat.com>
Mon, 2 Mar 1998 13:34:22 +0000 (13:34 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 2 Mar 1998 13:34:22 +0000 (13:34 +0000)
(collate_order_elem): When processing an ellipsis properly form a
linked list in the result table, fix typo when allocating ordering
array.

locale/programs/ld-collate.c

index 3a8c17a303078fe9c6e0e105d9d4450074344682..4b2f9c25e76690da4cf59b4094ab9889b88db44f 100644 (file)
@@ -239,9 +239,13 @@ collate_finish (struct localedef_t *locale, struct charset_t *charset)
       else
        value = 0;
 
-      if (value == 0 && !be_quiet)
-       error_at_line (0, 0, patch->fname, patch->lineno,
-                      _("no weight defined for symbol `%s'"), patch->token);
+      if (value == 0)
+       {
+         if (!be_quiet)
+           error_at_line (0, 0, patch->fname, patch->lineno,
+                          _("no weight defined for symbol `%s'"),
+                          patch->token);
+       }
       else
        *patch->where.pos = value;
     }
@@ -1479,7 +1483,7 @@ line after ellipsis must contain character definition"));
              pelem->ordering
                = (unsigned int *) obstack_copy (&collate->element_mem, data,
                                                 (collate->nrules
-                                                 * pelem->ordering_len)
+                                                 + pelem->ordering_len)
                                                 * sizeof (unsigned int));
 
              /* `...' weights need to be adjusted.  */
@@ -1492,13 +1496,16 @@ line after ellipsis must contain character definition"));
                              (void *) &pelem->next) >= 0)
                {
                  if (set_entry (&collate->result, name, sizeof (wchar_t),
-                                (void *) pelem->next) < 0)
+                                (void *) pelem) < 0)
                    error (4, 0, _("cannot insert into result table"));
                }
              else
-               if (insert_entry (&collate->result, name, sizeof (wchar_t),
-                                 (void *) pelem->next) < 0)
-                 error (4, 0, _("cannot insert into result table"));
+               {
+                 pelem->next = NULL;
+                 if (insert_entry (&collate->result, name, sizeof (wchar_t),
+                                   (void *) pelem) < 0)
+                   error (4, 0, _("cannot insert into result table"));
+               }
 
              /* Increment counter.  */
              ++name[0];