* string/stratcliff.c: Add one more strchr test for something
	which was reported to not work
	(which proofed to be wrong).
This commit is contained in:
Ulrich Drepper 1999-11-24 05:51:45 +00:00
parent bd979c005c
commit 76e680a87a
6 changed files with 3089 additions and 12 deletions

View File

@ -1,5 +1,9 @@
1999-11-23 Ulrich Drepper <drepper@cygnus.com>
* string/stratcliff.c: Add one more strchr test for something
which was reported to not work
(which proofed to be wrong).
* iconv/skeleton.c: It's __is_last, not is_last.
* locale/programs/ld-ctype.c (ctype_finish): Correct method to find

View File

@ -551,9 +551,17 @@ character '%s' in class `%s' must not be in class `%s'"),
nbytes) <= 0)
{
/* Find the UCS value for `bytes'. */
uint32_t wch = repertoire_find_value (ctype->repertoire, bytes,
nbytes);
int inner;
uint32_t wch;
struct charseq *seq = charmap_find_symbol (charmap, bytes, nbytes);
if (seq == NULL)
wch = ILLEGAL_CHAR_VALUE;
else if (seq->ucs4 != UNINITIALIZED_CHAR_VALUE)
wch = seq->ucs4;
else
wch = repertoire_find_value (ctype->repertoire, seq->name,
strlen (seq->name));
if (wch != ILLEGAL_CHAR_VALUE)
/* We are only interested in the side-effects of the
@ -1097,7 +1105,7 @@ find_idx (struct locale_ctype_t *ctype, uint32_t **table, size_t *max,
(*max - old_max) * sizeof (uint32_t));
}
*act = cnt;
*act = cnt + 1;
}
return &(*table)[cnt];
@ -3084,9 +3092,18 @@ Computing table size for character classes might take a while..."),
nbytes) <= 0)
{
/* Find the UCS value for `bytes'. */
uint32_t wch = repertoire_find_value (ctype->repertoire, bytes,
nbytes);
int inner;
uint32_t wch;
struct charseq *seq =
charmap_find_symbol (charmap, bytes, nbytes);
if (seq == NULL)
wch = ILLEGAL_CHAR_VALUE;
else if (seq->ucs4 != UNINITIALIZED_CHAR_VALUE)
wch = seq->ucs4;
else
wch = repertoire_find_value (ctype->repertoire, seq->name,
strlen (seq->name));
if (wch != ILLEGAL_CHAR_VALUE)
{

View File

@ -1,3 +1,9 @@
1999-11-23 Ulrich Drepper <drepper@cygnus.com>
* locales/ko_KR: New file.
* charmaps/EUC-KR: New file.
Contributed by Won-kyu Park <wkpark@chem.skku.ac.kr>.
1999-11-22 Ulrich Drepper <drepper@cygnus.com>
* locales/ja_JP [LC_CTYPE] (cntrl): Add PAD.

1287
localedata/charmaps/EUC-KR Normal file

File diff suppressed because it is too large Load Diff

1755
localedata/locales/ko_KR Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* Test for string function add boundaries of usable memory.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@ -42,10 +42,10 @@ main (int argc, char *argv[])
char *adr, *dest;
int result = 0;
adr = (char *) mmap (NULL, 3 * size, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANON, -1, 0);
dest = (char *) mmap (NULL, 3*size, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANON, -1, 0);
adr = (char *) mmap (NULL, 3 * size, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANON, -1, 0);
dest = (char *) mmap (NULL, 3 * size, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANON, -1, 0);
if (adr == MAP_FAILED || dest == MAP_FAILED)
{
if (errno == ENOSYS)
@ -61,11 +61,11 @@ main (int argc, char *argv[])
int inner, middle, outer;
mprotect(adr, size, PROT_NONE);
mprotect(adr+2*size, size, PROT_NONE);
mprotect(adr + 2 * size, size, PROT_NONE);
adr += size;
mprotect(dest, size, PROT_NONE);
mprotect(dest+2*size, size, PROT_NONE);
mprotect(dest + 2 * size, size, PROT_NONE);
dest += size;
memset (adr, 'T', size);
@ -116,6 +116,14 @@ main (int argc, char *argv[])
}
}
/* Special test. */
adr[size - 1] = '\0';
if (strchr (&adr[size - 1], '\n') != NULL)
{
puts ("strchr flunked for test of empty string at end of page");
result = 1;
}
/* strrchr test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{