mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 11:20:07 +00:00
Update.
* posix/tst-regex.c: Pass REG_NEWLINE to regcomp. Add extra tests. Restrict printing of string in debug mode to 100 characters to make the output useful for long input texts.
This commit is contained in:
parent
64333c6623
commit
2f07975de1
@ -1,5 +1,9 @@
|
|||||||
2001-06-27 Ulrich Drepper <drepper@redhat.com>
|
2001-06-27 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* posix/tst-regex.c: Pass REG_NEWLINE to regcomp. Add extra tests.
|
||||||
|
Restrict printing of string in debug mode to 100 characters to make
|
||||||
|
the output useful for long input texts.
|
||||||
|
|
||||||
* posix/Makefile: Add rules to build and run tst-regex.
|
* posix/Makefile: Add rules to build and run tst-regex.
|
||||||
|
|
||||||
2001-06-20 Isamu Hasegawa <isamu@yamato.ibm.com>
|
2001-06-20 Isamu Hasegawa <isamu@yamato.ibm.com>
|
||||||
|
@ -84,19 +84,23 @@ main (void)
|
|||||||
|
|
||||||
close (fd);
|
close (fd);
|
||||||
|
|
||||||
/* For the second test we have to convert the file content to UTF-8. */
|
/* We have to convert a few things from Latin-1 to UTF-8. */
|
||||||
umem = (char *) calloc (2, memlen);
|
|
||||||
if (umem == NULL)
|
|
||||||
error (EXIT_FAILURE, errno, "while allocating buffer");
|
|
||||||
|
|
||||||
cd = iconv_open ("UTF-8", "ISO-8859-1");
|
cd = iconv_open ("UTF-8", "ISO-8859-1");
|
||||||
if (cd == (iconv_t) -1)
|
if (cd == (iconv_t) -1)
|
||||||
error (EXIT_FAILURE, errno, "cannot get conversion descriptor");
|
error (EXIT_FAILURE, errno, "cannot get conversion descriptor");
|
||||||
|
|
||||||
|
/* For the second test we have to convert the file content to UTF-8.
|
||||||
|
Since the text is mostly ASCII it should be enough to allocate
|
||||||
|
twice as much memory for the UTF-8 text than for the Latin-1
|
||||||
|
text. */
|
||||||
|
umem = (char *) calloc (2, memlen);
|
||||||
|
if (umem == NULL)
|
||||||
|
error (EXIT_FAILURE, errno, "while allocating buffer");
|
||||||
|
|
||||||
inmem = mem;
|
inmem = mem;
|
||||||
inlen = memlen;
|
inlen = memlen;
|
||||||
outmem = umem;
|
outmem = umem;
|
||||||
outlen = 2 * memlen;
|
outlen = 2 * memlen - 1;
|
||||||
iconv (cd, &inmem, &inlen, &outmem, &outlen);
|
iconv (cd, &inmem, &inlen, &outmem, &outlen);
|
||||||
if (inlen != 0)
|
if (inlen != 0)
|
||||||
error (EXIT_FAILURE, errno, "cannot convert buffer");
|
error (EXIT_FAILURE, errno, "cannot convert buffer");
|
||||||
@ -106,16 +110,20 @@ main (void)
|
|||||||
use_clock = clock_getcpuclockid (0, &cl) == 0;
|
use_clock = clock_getcpuclockid (0, &cl) == 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
re_set_syntax (RE_DEBUG);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Run the actual tests. All tests are run in a single-byte and a
|
/* Run the actual tests. All tests are run in a single-byte and a
|
||||||
multi-byte locale. */
|
multi-byte locale. */
|
||||||
result = test_expr ("[äáàâéèêíìîñöóòôüúùû]", 2);
|
result = test_expr ("[äáàâéèêíìîñöóòôüúùû]", 2);
|
||||||
result |= test_expr ("G.ran", 2);
|
result |= test_expr ("G.ran", 2);
|
||||||
result |= test_expr ("G.\\{1\\}ran", 2);
|
result |= test_expr ("G.\\{1\\}ran", 2);
|
||||||
#ifdef DOES_NOT_WORK
|
result |= test_expr ("G.*ran", 3);
|
||||||
result |= test_expr ("G.*ran", 2);
|
result |= test_expr ("[äáàâ]", 0);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Free the resources. */
|
/* Free the resources. */
|
||||||
|
free (umem);
|
||||||
iconv_close (cd);
|
iconv_close (cd);
|
||||||
free (mem);
|
free (mem);
|
||||||
|
|
||||||
@ -178,7 +186,7 @@ run_test (const char *expr, const char *mem, size_t memlen, int expected)
|
|||||||
use_clock = clock_gettime (cl, &start) == 0;
|
use_clock = clock_gettime (cl, &start) == 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
err = regcomp (&re, expr, 0);
|
err = regcomp (&re, expr, REG_NEWLINE);
|
||||||
if (err != REG_NOERROR)
|
if (err != REG_NOERROR)
|
||||||
{
|
{
|
||||||
char buf[200];
|
char buf[200];
|
||||||
|
Loading…
Reference in New Issue
Block a user