mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 05:20:06 +00:00
Update.
2001-03-19 Ulrich Drepper <drepper@redhat.com> * string/Makefile (tests): Add tst-strxfrm. * string/tst-strxfrm.c: New file. Based on a test case by Paul Eggert. * string/Depend: New file. 2001-03-19 Paul Eggert <eggert@twinsun.com> * string/strxfrm.c (strxfrm): strxfrm should return 0, not 1, when given the empty string in nontrivial locales.
This commit is contained in:
parent
b28dcd8e13
commit
3c504879d9
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2001-03-19 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* string/Makefile (tests): Add tst-strxfrm.
|
||||
* string/tst-strxfrm.c: New file. Based on a test case by Paul Eggert.
|
||||
* string/Depend: New file.
|
||||
|
||||
2001-03-19 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* string/strxfrm.c (strxfrm): strxfrm should return 0, not 1,
|
||||
when given the empty string in nontrivial locales.
|
||||
|
||||
2001-03-17 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* manual/Makefile (install): Use $(INSTALL_DATA) instead of
|
||||
|
1
string/Depend
Normal file
1
string/Depend
Normal file
@ -0,0 +1 @@
|
||||
localedata
|
@ -48,7 +48,7 @@ o-objects.ob := memcpy.o memset.o memchr.o
|
||||
tests := tester inl-tester noinl-tester testcopy test-ffs \
|
||||
tst-strlen stratcliff tst-svc tst-inlcall \
|
||||
bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap \
|
||||
tst-strtok
|
||||
tst-strtok tst-strxfrm
|
||||
distribute := memcopy.h pagecopy.h tst-svc.expect
|
||||
|
||||
|
||||
|
@ -162,7 +162,7 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
|
||||
{
|
||||
if (n != 0)
|
||||
*dest = L('\0');
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* We need the elements of the string as unsigned values since they
|
||||
|
56
string/tst-strxfrm.c
Normal file
56
string/tst-strxfrm.c
Normal file
@ -0,0 +1,56 @@
|
||||
/* Based on a test case by Paul Eggert. */
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
char const string[] = "";
|
||||
|
||||
|
||||
static int
|
||||
test (const char *locale)
|
||||
{
|
||||
size_t bufsize;
|
||||
size_t r;
|
||||
size_t l;
|
||||
char *buf;
|
||||
int result = 0;
|
||||
|
||||
if (setlocale (LC_COLLATE, locale) == NULL)
|
||||
{
|
||||
printf ("cannot set locale \"%s\"\n", locale);
|
||||
return 1;
|
||||
}
|
||||
bufsize = strxfrm (NULL, string, 0) + 1;
|
||||
buf = malloc (bufsize);
|
||||
if (buf == NULL)
|
||||
{
|
||||
printf ("cannot allocate %zd bytes\n", bufsize);
|
||||
return 1;
|
||||
}
|
||||
r = strxfrm (buf, string, bufsize);
|
||||
l = strlen (buf);
|
||||
if (r != l)
|
||||
{
|
||||
printf ("locale \"%s\": strxfrm returned %zu, strlen returned %zu\n",
|
||||
locale, r, l);
|
||||
result = 1;
|
||||
}
|
||||
free (buf);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
result |= test ("C");
|
||||
result |= test ("en_US.ISO-8859-1");
|
||||
result |= test ("de_DE.UTF-8");
|
||||
|
||||
return result;
|
||||
}
|
Loading…
Reference in New Issue
Block a user