mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
Update.
* stdio-common/Makefile (tests): Add bug14. * stdio-common/bug14.c: New file.
This commit is contained in:
parent
0f74005938
commit
a1a2fec161
@ -1,5 +1,8 @@
|
||||
2003-01-15 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* stdio-common/Makefile (tests): Add bug14.
|
||||
* stdio-common/bug14.c: New file.
|
||||
|
||||
* stdio-common/vfscanf.c: When recognizing multibyte characters in
|
||||
string reset the byte counter after mbrtowc reported it is not a
|
||||
partial character. Reported by Al Viro <aviro@redhat.com>.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991-2002, 2003 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -54,7 +54,7 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \
|
||||
scanf1 scanf2 scanf3 scanf4 scanf5 scanf7 scanf8 scanf9 scanf10 \
|
||||
scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf tst-sscanf \
|
||||
tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \
|
||||
tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex
|
||||
tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14
|
||||
|
||||
test-srcs = tst-unbputc tst-printf
|
||||
|
||||
|
28
stdio-common/bug14.c
Normal file
28
stdio-common/bug14.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Test case by Al Viro <aviro@redhat.com>. */
|
||||
#include <locale.h>
|
||||
#include <wchar.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* MB_CUR_MAX multibyte ones (6 UTF+0080, in this case) */
|
||||
static const char string[] = "\
|
||||
\xc2\x80\xc2\x80\xc2\x80\xc2\x80\xc2\x80\xc2\x80";
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
if (setlocale (LC_ALL, "de_DE.utf8") == NULL)
|
||||
{
|
||||
puts ("cannot set locale");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
wchar_t s[7];
|
||||
int n = sscanf (string, "%l[\x80\xc2]", s);
|
||||
if (n != 1)
|
||||
{
|
||||
printf ("return values %d != 1\n", n);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user