diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-02-11 22:11:40 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-02-11 22:11:40 +0000 |
commit | 740c223996c16b90f9f9f4ec21bbcd143f521eb9 (patch) | |
tree | 6d6d991bb3d08aa50144cf584087c040d2e83a22 /locale/programs/ld-collate.c | |
parent | f9a7302fd1f88e311dd89e1c9d8b4ad572af6cfa (diff) | |
download | glibc-740c223996c16b90f9f9f4ec21bbcd143f521eb9.tar.gz glibc-740c223996c16b90f9f9f4ec21bbcd143f521eb9.tar.xz glibc-740c223996c16b90f9f9f4ec21bbcd143f521eb9.zip |
Update.
2000-02-08 Shinya Hanataka <hanataka@abyss.rim.or.jp> * locale/weightwc.h: Fix problem with collating-element. * locale/programs/ld-collate.c (collate_finish): Output wide character collating-symbol, which has no wide strings. * locale/programs/ld-collate.c (collate_output): Fix problem with wide character collating-element.
Diffstat (limited to 'locale/programs/ld-collate.c')
-rw-r--r-- | locale/programs/ld-collate.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 7b85b760aa..d3f13ada5b 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -2329,14 +2329,14 @@ collate_output (struct localedef_t *locale, struct charmap_t *charmap, if (sizeof (int32_t) == sizeof (int)) { obstack_int_grow_fast (&extrapool, - obstack_object_size (&indirectpool) - / sizeof (int32_t)); + -(obstack_object_size (&indirectpool) + / sizeof (int32_t))); obstack_int_grow_fast (&extrapool, runp->nwcs - 1); } else { - int32_t i = (obstack_object_size (&indirectpool) - / sizeof (int32_t)); + int32_t i = -(obstack_object_size (&indirectpool) + / sizeof (int32_t)); obstack_grow (&extrapool, &i, sizeof (int32_t)); i = runp->nwcs - 1; obstack_grow (&extrapool, &i, sizeof (int32_t)); @@ -2367,9 +2367,10 @@ collate_output (struct localedef_t *locale, struct charmap_t *charmap, { weightidx = output_weightwc (&weightpool, collate, curp); if (sizeof (int32_t) == sizeof (int)) - obstack_int_grow (&extrapool, weightidx); + obstack_int_grow (&indirectpool, weightidx); else - obstack_grow (&extrapool, &weightidx, sizeof (int32_t)); + obstack_grow (&indirectpool, &weightidx, + sizeof (int32_t)); curp = curp->wclast; } @@ -2384,11 +2385,11 @@ collate_output (struct localedef_t *locale, struct charmap_t *charmap, /* And add the end byte sequence. Without length this time. */ - for (i = 1; i < runp->nwcs; ++i) + for (i = 1; i < curp->nwcs; ++i) if (sizeof (int32_t) == sizeof (int)) - obstack_int_grow (&extrapool, runp->wcs[i]); + obstack_int_grow (&extrapool, curp->wcs[i]); else - obstack_grow (&extrapool, &runp->wcs[i], sizeof (int32_t)); + obstack_grow (&extrapool, &curp->wcs[i], sizeof (int32_t)); } else { |