1999-09-22  Andreas Jaeger  <aj@suse.de>

	* stdio-common/tstscanf.c (main): Add test case from PR libc/1313
	reported by Ben Caradoc-Davies <bmcd@physics.otago.ac.nz>.
		
1999-09-22  Andreas Schwab  <schwab@suse.de>

	* stdio-common/vfscanf.c: Fix width handling when scanning floats.

1999-04-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* elf/Makefile (CFLAGS-multiload.c): Change to allow building in
	the source directory.  Fixes PR libc/1059.
This commit is contained in:
Ulrich Drepper 1999-09-22 16:03:46 +00:00
parent 5b5255f197
commit 9df541684a
6 changed files with 516 additions and 458 deletions

View File

@ -1,3 +1,17 @@
1999-09-22 Andreas Jaeger <aj@suse.de>
* stdio-common/tstscanf.c (main): Add test case from PR libc/1313
reported by Ben Caradoc-Davies <bmcd@physics.otago.ac.nz>.
1999-09-22 Andreas Schwab <schwab@suse.de>
* stdio-common/vfscanf.c: Fix width handling when scanning floats.
1999-04-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* elf/Makefile (CFLAGS-multiload.c): Change to allow building in
the source directory. Fixes PR libc/1059.
1999-09-21 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/repertoire.c (repertoire_find_value): Abort if

View File

@ -230,7 +230,7 @@ $(objpfx)loadfail.out: $(objpfx)failobj.so
$(objpfx)multiload: $(libdl)
LDFLAGS-multiload = -rdynamic
CFLAGS-multiload.c = -DOBJDIR=\"$(objpfx)\"
CFLAGS-multiload.c = -DOBJDIR=\"$(elf-objpfx)\"
$(objpfx)multiload.out: $(objpfx)testobj1.so

View File

@ -1,3 +1,7 @@
1999-09-22 Ulrich Drepper <drepper@cygnus.com>
* locales/zh_CN: Some first patches to make the file usable.
1999-09-13 Ulrich Drepper <drepper@cygnus.com>
* locales/id_ID: Fix typo.

View File

@ -35,11 +35,11 @@ LC_CTYPE
% Greek letters in GB2312-1980,
% Russian letters in GB2312-1980.
upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;\
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;\
<c0333>;...;<c0358>;\
<c0601>;...;<c0624>;\
<c0701>;...;<c0733>
upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;/
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;/
<c0333>....<c0358>;/
<c0601>....<c0624>;/
<c0701>....<c0733>
%
% lower class:
@ -48,11 +48,11 @@ upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;\
% Greek letters in GB2312-1980,
% Russian letters in GB2312-1980.
lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;\
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;\
<c0365>;...;<c0390>;\
<c0633>;...;<c0656>;\
<c0749>;...;<c0781>
lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;/
<c0365>....<c0390>;/
<c0633>....<c0656>;/
<c0749>....<c0781>
%
% alpha class (default):
@ -63,7 +63,7 @@ lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;\
%
% digit class
%
digit <zero>;<one>;<two>;<three>;<four>;\
digit <zero>;<one>;<two>;<three>;<four>;/
<five>;<six>;<seven>;<eight>;<nine>
%
@ -72,8 +72,8 @@ digit <zero>;<one>;<two>;<three>;<four>;\
% Space in GB2312-1980
%
space <tab>;<newline>;<vertical-tab>;<form-feed>;\
<carriage-return>;<space>;\
space <tab>;<newline>;<vertical-tab>;<form-feed>;/
<carriage-return>;<space>;/
<c0101>
%
@ -84,15 +84,15 @@ space <tab>;<newline>;<vertical-tab>;<form-feed>;\
%
cntrl <alert>;<backspace>;<tab>;<newline>;<vertical-tab>;\
<form-feed>;<carriage-return>;\
<NUL>;<SOH>;<STX>;<ETX>;<EOT>;<ENQ>;<ACK>;<SO>;\
<SI>;<DLE>;<DC1>;<DC2>;<DC3>;<DC4>;<NAK>;<SYN>;\
<ETB>;<CAN>;<EM>;<SUB>;<ESC>;<IS4>;<IS3>;<IS2>;\
<IS1>;<DEL>;\
<PA>;<HO>;<BH>;<NH>;<IN>;<NL>;<SA>;<ES>;<HS>;<HJ>;\
<VS>;<PD>;<PU>;<RI>;<S2>;<S3>;\
<DC>;<P1>;<P2>;<TS>;<CC>;<MW>;<SG>;<EG>;\
cntrl <alert>;<backspace>;<tab>;<newline>;<vertical-tab>;/
<form-feed>;<carriage-return>;/
<NUL>;<SOH>;<STX>;<ETX>;<EOT>;<ENQ>;<ACK>;<SO>;/
<SI>;<DLE>;<DC1>;<DC2>;<DC3>;<DC4>;<NAK>;<SYN>;/
<ETB>;<CAN>;<EM>;<SUB>;<ESC>;<IS4>;<IS3>;<IS2>;/
<IS1>;<DEL>;/
<PA>;<HO>;<BH>;<NH>;<IN>;<NL>;<SA>;<ES>;<HS>;<HJ>;/
<VS>;<PD>;<PU>;<RI>;<S2>;<S3>;/
<DC>;<P1>;<P2>;<TS>;<CC>;<MW>;<SG>;<EG>;/
<SS>;<GC>;<SC>;<CI>;<ST>;<OC>;<PM>;<AC>;<NS>
%
@ -101,17 +101,17 @@ cntrl <alert>;<backspace>;<tab>;<newline>;<vertical-tab>;\
% do not belong to classes cntrl, alpha, digit.
%
punct <exclamation-mark>;<quotation-mark>;<number-sign>;\
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>;\
<left-parenthesis>;<right-parenthesis>;<asterisk>;\
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;\
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;\
<greater-than-sign>;<question-mark>;<commercial-at>;\
<left-square-bracket>;<backslash>;<right-square-bracket>;\
<circumflex>;<underscore>;<grave-accent>;\
<left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde>;\
<c0102>;...;<c0110>;\
<c0113>;...;<c0131>;\
punct <exclamation-mark>;<quotation-mark>;<number-sign>;/
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>;/
<left-parenthesis>;<right-parenthesis>;<asterisk>;/
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;/
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;/
<greater-than-sign>;<question-mark>;<commercial-at>;/
<left-square-bracket>;<backslash>;<right-square-bracket>;/
<circumflex>;<underscore>;<grave-accent>;/
<left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde>;/
<c0102>....<c0110>;/
<c0113>....<c0131>;/
<c0301>;<c0312>;<c0326>;<c0327>;<c0311>
%
@ -120,109 +120,109 @@ punct <exclamation-mark>;<quotation-mark>;<number-sign>;\
% GB2312-1980 printable characters
% Printable characters in udc or vdc classes may be added.
graph <exclamation-mark>;<quotation-mark>;<number-sign>;\
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>;\
<left-parenthesis>;<right-parenthesis>;<asterisk>;\
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;\
<zero>;<one>;<two>;<three>;<four>;\
<five>;<six>;<seven>;<eight>;<nine>;\
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;\
<greater-than-sign>;<question-mark>;\
<commercial-at>;\
<A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;\
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;\
<left-square-bracket>;<backslash>;<right-square-bracket>;\
<circumflex>;<underscore>;\
<grave-accent>;\
<a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;\
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;\
<left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde>;\
<c0102>;...;<c0194>;\
<c0217>;...;<c0266>;\
<c0269>;...;<c0278>;\
<c0281>;...;<c0292>;\
<c0301>;...;<c0394>;\
<c0401>;...;<c0483>;\
<c0501>;...;<c0586>;\
<c0601>;...;<c0624>;\
<c0633>;...;<c0656>;\
<c0701>;...;<c0733>;\
<c0749>;...;<c0781>;\
<c0801>;...;<c0826>;\
<c0837>;...;<c0873>;\
<c0904>;...;<c0979>;\
<c1601>;...;<c1694>;\
<c1701>;...;<c1794>;\
<c1801>;...;<c1894>;\
<c1901>;...;<c1994>;\
<c2001>;...;<c2094>;\
<c2101>;...;<c2194>;\
<c2201>;...;<c2294>;\
<c2301>;...;<c2394>;\
<c2401>;...;<c2494>;\
<c2501>;...;<c2594>;\
<c2601>;...;<c2694>;\
<c2701>;...;<c2794>;\
<c2801>;...;<c2894>;\
<c2901>;...;<c2994>;\
<c3001>;...;<c3094>;\
<c3101>;...;<c3194>;\
<c3201>;...;<c3294>;\
<c3301>;...;<c3394>;\
<c3401>;...;<c3494>;\
<c3501>;...;<c3594>;\
<c3601>;...;<c3694>;\
<c3701>;...;<c3794>;\
<c3801>;...;<c3894>;\
<c3901>;...;<c3994>;\
<c4001>;...;<c4094>;\
<c4101>;...;<c4194>;\
<c4201>;...;<c4294>;\
<c4301>;...;<c4394>;\
<c4401>;...;<c4494>;\
<c4501>;...;<c4594>;\
<c4601>;...;<c4694>;\
<c4701>;...;<c4794>;\
<c4801>;...;<c4894>;\
<c4901>;...;<c4994>;\
<c5001>;...;<c5094>;\
<c5101>;...;<c5194>;\
<c5201>;...;<c5294>;\
<c5301>;...;<c5394>;\
<c5401>;...;<c5494>;\
<c5501>;...;<c5594>;\
<c5601>;...;<c5694>;\
<c5701>;...;<c5794>;\
<c5801>;...;<c5894>;\
<c5901>;...;<c5994>;\
<c6001>;...;<c6094>;\
<c6101>;...;<c6194>;\
<c6201>;...;<c6294>;\
<c6301>;...;<c6394>;\
<c6401>;...;<c6494>;\
<c6501>;...;<c6594>;\
<c6601>;...;<c6694>;\
<c6701>;...;<c6794>;\
<c6801>;...;<c6894>;\
<c6901>;...;<c6994>;\
<c7001>;...;<c7094>;\
<c7101>;...;<c7194>;\
<c7201>;...;<c7294>;\
<c7301>;...;<c7394>;\
<c7401>;...;<c7494>;\
<c7501>;...;<c7594>;\
<c7601>;...;<c7694>;\
<c7701>;...;<c7794>;\
<c7801>;...;<c7894>;\
<c7901>;...;<c7994>;\
<c8001>;...;<c8094>;\
<c8101>;...;<c8194>;\
<c8201>;...;<c8294>;\
<c8301>;...;<c8394>;\
<c8401>;...;<c8494>;\
<c8501>;...;<c8594>;\
<c8601>;...;<c8694>;\
<c8701>;...;<c8794>
graph <exclamation-mark>;<quotation-mark>;<number-sign>;/
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>;/
<left-parenthesis>;<right-parenthesis>;<asterisk>;/
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;/
<zero>;<one>;<two>;<three>;<four>;/
<five>;<six>;<seven>;<eight>;<nine>;/
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;/
<greater-than-sign>;<question-mark>;/
<commercial-at>;/
<A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;/
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;/
<left-square-bracket>;<backslash>;<right-square-bracket>;/
<circumflex>;<underscore>;/
<grave-accent>;/
<a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;/
<left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde>;/
<c0102>....<c0194>;/
<c0217>....<c0266>;/
<c0269>....<c0278>;/
<c0281>....<c0292>;/
<c0301>....<c0394>;/
<c0401>....<c0483>;/
<c0501>....<c0586>;/
<c0601>....<c0624>;/
<c0633>....<c0656>;/
<c0701>....<c0733>;/
<c0749>....<c0781>;/
<c0801>....<c0826>;/
<c0837>....<c0873>;/
<c0904>....<c0979>;/
<c1601>....<c1694>;/
<c1701>....<c1794>;/
<c1801>....<c1894>;/
<c1901>....<c1994>;/
<c2001>....<c2094>;/
<c2101>....<c2194>;/
<c2201>....<c2294>;/
<c2301>....<c2394>;/
<c2401>....<c2494>;/
<c2501>....<c2594>;/
<c2601>....<c2694>;/
<c2701>....<c2794>;/
<c2801>....<c2894>;/
<c2901>....<c2994>;/
<c3001>....<c3094>;/
<c3101>....<c3194>;/
<c3201>....<c3294>;/
<c3301>....<c3394>;/
<c3401>....<c3494>;/
<c3501>....<c3594>;/
<c3601>....<c3694>;/
<c3701>....<c3794>;/
<c3801>....<c3894>;/
<c3901>....<c3994>;/
<c4001>....<c4094>;/
<c4101>....<c4194>;/
<c4201>....<c4294>;/
<c4301>....<c4394>;/
<c4401>....<c4494>;/
<c4501>....<c4594>;/
<c4601>....<c4694>;/
<c4701>....<c4794>;/
<c4801>....<c4894>;/
<c4901>....<c4994>;/
<c5001>....<c5094>;/
<c5101>....<c5194>;/
<c5201>....<c5294>;/
<c5301>....<c5394>;/
<c5401>....<c5494>;/
<c5501>....<c5594>;/
<c5601>....<c5694>;/
<c5701>....<c5794>;/
<c5801>....<c5894>;/
<c5901>....<c5994>;/
<c6001>....<c6094>;/
<c6101>....<c6194>;/
<c6201>....<c6294>;/
<c6301>....<c6394>;/
<c6401>....<c6494>;/
<c6501>....<c6594>;/
<c6601>....<c6694>;/
<c6701>....<c6794>;/
<c6801>....<c6894>;/
<c6901>....<c6994>;/
<c7001>....<c7094>;/
<c7101>....<c7194>;/
<c7201>....<c7294>;/
<c7301>....<c7394>;/
<c7401>....<c7494>;/
<c7501>....<c7594>;/
<c7601>....<c7694>;/
<c7701>....<c7794>;/
<c7801>....<c7894>;/
<c7901>....<c7994>;/
<c8001>....<c8094>;/
<c8101>....<c8194>;/
<c8201>....<c8294>;/
<c8301>....<c8394>;/
<c8401>....<c8494>;/
<c8501>....<c8594>;/
<c8601>....<c8694>;/
<c8701>....<c8794>
%
% print class:
@ -230,117 +230,117 @@ graph <exclamation-mark>;<quotation-mark>;<number-sign>;\
% upper, lower, alpha, digit, xdigit
% GB2312-1980 printable characters
print <space>;\
<exclamation-mark>;<quotation-mark>;<number-sign>;\
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>;\
<left-parenthesis>;<right-parenthesis>;<asterisk>;\
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;\
<zero>;<one>;<two>;<three>;<four>;\
<five>;<six>;<seven>;<eight>;<nine>;\
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;\
<greater-than-sign>;<question-mark>;\
<commercial-at>;\
<A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;\
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;\
<left-square-bracket>;<backslash>;<right-square-bracket>;\
<circumflex>;<underscore>;\
<grave-accent>;\
<a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;\
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;\
<left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde>;\
<c0101>;...;<c0194>;\
<c0217>;...;<c0266>;\
<c0269>;...;<c0278>;\
<c0281>;...;<c0292>;\
<c0301>;...;<c0394>;\
<c0401>;...;<c0483>;\
<c0501>;...;<c0586>;\
<c0601>;...;<c0624>;\
<c0633>;...;<c0656>;\
<c0701>;...;<c0733>;\
<c0749>;...;<c0781>;\
<c0801>;...;<c0826>;\
<c0837>;...;<c0873>;\
<c0904>;...;<c0979>;\
<c1601>;...;<c1694>;\
<c1701>;...;<c1794>;\
<c1801>;...;<c1894>;\
<c1901>;...;<c1994>;\
<c2001>;...;<c2094>;\
<c2101>;...;<c2194>;\
<c2201>;...;<c2294>;\
<c2301>;...;<c2394>;\
<c2401>;...;<c2494>;\
<c2501>;...;<c2594>;\
<c2601>;...;<c2694>;\
<c2701>;...;<c2794>;\
<c2801>;...;<c2894>;\
<c2901>;...;<c2994>;\
<c3001>;...;<c3094>;\
<c3101>;...;<c3194>;\
<c3201>;...;<c3294>;\
<c3301>;...;<c3394>;\
<c3401>;...;<c3494>;\
<c3501>;...;<c3594>;\
<c3601>;...;<c3694>;\
<c3701>;...;<c3794>;\
<c3801>;...;<c3894>;\
<c3901>;...;<c3994>;\
<c4001>;...;<c4094>;\
<c4101>;...;<c4194>;\
<c4201>;...;<c4294>;\
<c4301>;...;<c4394>;\
<c4401>;...;<c4494>;\
<c4501>;...;<c4594>;\
<c4601>;...;<c4694>;\
<c4701>;...;<c4794>;\
<c4801>;...;<c4894>;\
<c4901>;...;<c4994>;\
<c5001>;...;<c5094>;\
<c5101>;...;<c5194>;\
<c5201>;...;<c5294>;\
<c5301>;...;<c5394>;\
<c5401>;...;<c5494>;\
<c5501>;...;<c5594>;\
<c5601>;...;<c5694>;\
<c5701>;...;<c5794>;\
<c5801>;...;<c5894>;\
<c5901>;...;<c5994>;\
<c6001>;...;<c6094>;\
<c6101>;...;<c6194>;\
<c6201>;...;<c6294>;\
<c6301>;...;<c6394>;\
<c6401>;...;<c6494>;\
<c6501>;...;<c6594>;\
<c6601>;...;<c6694>;\
<c6701>;...;<c6794>;\
<c6801>;...;<c6894>;\
<c6901>;...;<c6994>;\
<c7001>;...;<c7094>;\
<c7101>;...;<c7194>;\
<c7201>;...;<c7294>;\
<c7301>;...;<c7394>;\
<c7401>;...;<c7494>;\
<c7501>;...;<c7594>;\
<c7601>;...;<c7694>;\
<c7701>;...;<c7794>;\
<c7801>;...;<c7894>;\
<c7901>;...;<c7994>;\
<c8001>;...;<c8094>;\
<c8101>;...;<c8194>;\
<c8201>;...;<c8294>;\
<c8301>;...;<c8394>;\
<c8401>;...;<c8494>;\
<c8501>;...;<c8594>;\
<c8601>;...;<c8694>;\
<c8701>;...;<c8794>
print <space>;/
<exclamation-mark>;<quotation-mark>;<number-sign>;/
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>;/
<left-parenthesis>;<right-parenthesis>;<asterisk>;/
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;/
<zero>;<one>;<two>;<three>;<four>;/
<five>;<six>;<seven>;<eight>;<nine>;/
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;/
<greater-than-sign>;<question-mark>;/
<commercial-at>;/
<A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;/
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;/
<left-square-bracket>;<backslash>;<right-square-bracket>;/
<circumflex>;<underscore>;/
<grave-accent>;/
<a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;/
<left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde>;/
<c0101>....<c0194>;/
<c0217>....<c0266>;/
<c0269>....<c0278>;/
<c0281>....<c0292>;/
<c0301>....<c0394>;/
<c0401>....<c0483>;/
<c0501>....<c0586>;/
<c0601>....<c0624>;/
<c0633>....<c0656>;/
<c0701>....<c0733>;/
<c0749>....<c0781>;/
<c0801>....<c0826>;/
<c0837>....<c0873>;/
<c0904>....<c0979>;/
<c1601>....<c1694>;/
<c1701>....<c1794>;/
<c1801>....<c1894>;/
<c1901>....<c1994>;/
<c2001>....<c2094>;/
<c2101>....<c2194>;/
<c2201>....<c2294>;/
<c2301>....<c2394>;/
<c2401>....<c2494>;/
<c2501>....<c2594>;/
<c2601>....<c2694>;/
<c2701>....<c2794>;/
<c2801>....<c2894>;/
<c2901>....<c2994>;/
<c3001>....<c3094>;/
<c3101>....<c3194>;/
<c3201>....<c3294>;/
<c3301>....<c3394>;/
<c3401>....<c3494>;/
<c3501>....<c3594>;/
<c3601>....<c3694>;/
<c3701>....<c3794>;/
<c3801>....<c3894>;/
<c3901>....<c3994>;/
<c4001>....<c4094>;/
<c4101>....<c4194>;/
<c4201>....<c4294>;/
<c4301>....<c4394>;/
<c4401>....<c4494>;/
<c4501>....<c4594>;/
<c4601>....<c4694>;/
<c4701>....<c4794>;/
<c4801>....<c4894>;/
<c4901>....<c4994>;/
<c5001>....<c5094>;/
<c5101>....<c5194>;/
<c5201>....<c5294>;/
<c5301>....<c5394>;/
<c5401>....<c5494>;/
<c5501>....<c5594>;/
<c5601>....<c5694>;/
<c5701>....<c5794>;/
<c5801>....<c5894>;/
<c5901>....<c5994>;/
<c6001>....<c6094>;/
<c6101>....<c6194>;/
<c6201>....<c6294>;/
<c6301>....<c6394>;/
<c6401>....<c6494>;/
<c6501>....<c6594>;/
<c6601>....<c6694>;/
<c6701>....<c6794>;/
<c6801>....<c6894>;/
<c6901>....<c6994>;/
<c7001>....<c7094>;/
<c7101>....<c7194>;/
<c7201>....<c7294>;/
<c7301>....<c7394>;/
<c7401>....<c7494>;/
<c7501>....<c7594>;/
<c7601>....<c7694>;/
<c7701>....<c7794>;/
<c7801>....<c7894>;/
<c7901>....<c7994>;/
<c8001>....<c8094>;/
<c8101>....<c8194>;/
<c8201>....<c8294>;/
<c8301>....<c8394>;/
<c8401>....<c8494>;/
<c8501>....<c8594>;/
<c8601>....<c8694>;/
<c8701>....<c8794>
%
% xdigit class
%
xdigit <zero>;<one>;<two>;<three>;<four>;\
<five>;<six>;<seven>;<eight>;<nine>;\
<A>;<B>;<C>;<D>;<E>;<F>;\
xdigit <zero>;<one>;<two>;<three>;<four>;/
<five>;<six>;<seven>;<eight>;<nine>;/
<A>;<B>;<C>;<D>;<E>;<F>;/
<a>;<b>;<c>;<d>;<e>;<f>
%
@ -352,74 +352,74 @@ blank <space>;<tab>
% toupper and tolower: also handle Roman, Greek and Russian
% characters in GB3212-1980
toupper (<a>,<A>);(<b>,<B>);(<c>,<C>);(<d>,<D>);(<e>,<E>);\
(<f>,<F>);(<g>,<G>);(<h>,<H>);(<i>,<I>);(<j>,<J>);\
(<k>,<K>);(<l>,<L>);(<m>,<M>);(<n>,<N>);(<o>,<O>);\
(<p>,<P>);(<q>,<Q>);(<r>,<R>);(<s>,<S>);(<t>,<T>);\
(<u>,<U>);(<v>,<V>);(<w>,<W>);(<x>,<X>);(<y>,<Y>);\
(<z>,<Z>);\
(<c0365>,<c0333>);(<c0366>,<c0334>);(<c0367>,<c0335>);\
(<c0368>,<c0336>);(<c0369>,<c0337>);(<c0370>,<c0338>);\
(<c0371>,<c0339>);(<c0372>,<c0340>);(<c0373>,<c0341>);\
(<c0374>,<c0342>);(<c0375>,<c0343>);(<c0376>,<c0344>);\
(<c0377>,<c0345>);(<c0378>,<c0346>);(<c0379>,<c0347>);\
(<c0380>,<c0348>);(<c0381>,<c0349>);(<c0382>,<c0350>);\
(<c0383>,<c0351>);(<c0384>,<c0352>);(<c0385>,<c0353>);\
(<c0386>,<c0354>);(<c0387>,<c0355>);(<c0388>,<c0356>);\
(<c0389>,<c0357>);(<c0390>,<c0358>);\
(<c0633>,<c0601>);(<c0634>,<c0602>);(<c0635>,<c0603>);\
(<c0636>,<c0604>);(<c0637>,<c0605>);(<c0638>,<c0606>);\
(<c0639>,<c0607>);(<c0640>,<c0608>);(<c0641>,<c0609>);\
(<c0642>,<c0610>);(<c0643>,<c0611>);(<c0644>,<c0612>);\
(<c0645>,<c0613>);(<c0646>,<c0614>);(<c0647>,<c0615>);\
(<c0648>,<c0616>);(<c0649>,<c0617>);(<c0650>,<c0618>);\
(<c0651>,<c0619>);(<c0652>,<c0620>);(<c0653>,<c0621>);\
(<c0654>,<c0622>);(<c0655>,<c0623>);(<c0656>,<c0624>);\
(<c0749>,<c0701>);(<c0750>,<c0702>);(<c0751>,<c0703>);\
(<c0752>,<c0704>);(<c0753>,<c0705>);(<c0754>,<c0706>);\
(<c0755>,<c0707>);(<c0756>,<c0708>);(<c0757>,<c0709>);\
(<c0758>,<c0710>);(<c0759>,<c0711>);(<c0760>,<c0712>);\
(<c0761>,<c0713>);(<c0762>,<c0714>);(<c0763>,<c0715>);\
(<c0764>,<c0716>);(<c0765>,<c0717>);(<c0766>,<c0718>);\
(<c0767>,<c0719>);(<c0768>,<c0720>);(<c0769>,<c0721>);\
(<c0770>,<c0722>);(<c0771>,<c0723>);(<c0772>,<c0724>);\
(<c0773>,<c0725>);(<c0774>,<c0726>);(<c0775>,<c0727>);\
(<c0776>,<c0728>);(<c0777>,<c0729>);(<c0778>,<c0730>);\
toupper (<a>,<A>);(<b>,<B>);(<c>,<C>);(<d>,<D>);(<e>,<E>);/
(<f>,<F>);(<g>,<G>);(<h>,<H>);(<i>,<I>);(<j>,<J>);/
(<k>,<K>);(<l>,<L>);(<m>,<M>);(<n>,<N>);(<o>,<O>);/
(<p>,<P>);(<q>,<Q>);(<r>,<R>);(<s>,<S>);(<t>,<T>);/
(<u>,<U>);(<v>,<V>);(<w>,<W>);(<x>,<X>);(<y>,<Y>);/
(<z>,<Z>);/
(<c0365>,<c0333>);(<c0366>,<c0334>);(<c0367>,<c0335>);/
(<c0368>,<c0336>);(<c0369>,<c0337>);(<c0370>,<c0338>);/
(<c0371>,<c0339>);(<c0372>,<c0340>);(<c0373>,<c0341>);/
(<c0374>,<c0342>);(<c0375>,<c0343>);(<c0376>,<c0344>);/
(<c0377>,<c0345>);(<c0378>,<c0346>);(<c0379>,<c0347>);/
(<c0380>,<c0348>);(<c0381>,<c0349>);(<c0382>,<c0350>);/
(<c0383>,<c0351>);(<c0384>,<c0352>);(<c0385>,<c0353>);/
(<c0386>,<c0354>);(<c0387>,<c0355>);(<c0388>,<c0356>);/
(<c0389>,<c0357>);(<c0390>,<c0358>);/
(<c0633>,<c0601>);(<c0634>,<c0602>);(<c0635>,<c0603>);/
(<c0636>,<c0604>);(<c0637>,<c0605>);(<c0638>,<c0606>);/
(<c0639>,<c0607>);(<c0640>,<c0608>);(<c0641>,<c0609>);/
(<c0642>,<c0610>);(<c0643>,<c0611>);(<c0644>,<c0612>);/
(<c0645>,<c0613>);(<c0646>,<c0614>);(<c0647>,<c0615>);/
(<c0648>,<c0616>);(<c0649>,<c0617>);(<c0650>,<c0618>);/
(<c0651>,<c0619>);(<c0652>,<c0620>);(<c0653>,<c0621>);/
(<c0654>,<c0622>);(<c0655>,<c0623>);(<c0656>,<c0624>);/
(<c0749>,<c0701>);(<c0750>,<c0702>);(<c0751>,<c0703>);/
(<c0752>,<c0704>);(<c0753>,<c0705>);(<c0754>,<c0706>);/
(<c0755>,<c0707>);(<c0756>,<c0708>);(<c0757>,<c0709>);/
(<c0758>,<c0710>);(<c0759>,<c0711>);(<c0760>,<c0712>);/
(<c0761>,<c0713>);(<c0762>,<c0714>);(<c0763>,<c0715>);/
(<c0764>,<c0716>);(<c0765>,<c0717>);(<c0766>,<c0718>);/
(<c0767>,<c0719>);(<c0768>,<c0720>);(<c0769>,<c0721>);/
(<c0770>,<c0722>);(<c0771>,<c0723>);(<c0772>,<c0724>);/
(<c0773>,<c0725>);(<c0774>,<c0726>);(<c0775>,<c0727>);/
(<c0776>,<c0728>);(<c0777>,<c0729>);(<c0778>,<c0730>);/
(<c0779>,<c0731>);(<c0780>,<c0732>);(<c0781>,<c0733>)
tolower (<A>,<a>);(<B>,<b>);(<C>,<c>);(<D>,<d>);(<E>,<e>);\
(<F>,<f>);(<G>,<g>);(<H>,<h>);(<I>,<i>);(<J>,<j>);\
(<K>,<k>);(<L>,<l>);(<M>,<m>);(<N>,<n>);(<O>,<o>);\
(<P>,<p>);(<Q>,<q>);(<R>,<r>);(<S>,<s>);(<T>,<t>);\
(<U>,<u>);(<V>,<v>);(<W>,<w>);(<X>,<x>);(<Y>,<y>);\
(<Z>,<z>);\
(<c0333>,<c0365>);(<c0334>,<c0366>);(<c0335>,<c0367>);\
(<c0336>,<c0368>);(<c0337>,<c0369>);(<c0338>,<c0370>);\
(<c0339>,<c0371>);(<c0340>,<c0372>);(<c0341>,<c0373>);\
(<c0342>,<c0374>);(<c0343>,<c0375>);(<c0344>,<c0376>);\
(<c0345>,<c0377>);(<c0346>,<c0378>);(<c0347>,<c0379>);\
(<c0348>,<c0380>);(<c0349>,<c0381>);(<c0350>,<c0382>);\
(<c0351>,<c0383>);(<c0352>,<c0384>);(<c0353>,<c0385>);\
(<c0354>,<c0386>);(<c0355>,<c0387>);(<c0356>,<c0388>);\
(<c0357>,<c0389>);(<c0358>,<c0390>);\
(<c0601>,<c0633>);(<c0602>,<c0634>);(<c0603>,<c0635>);\
(<c0604>,<c0636>);(<c0605>,<c0637>);(<c0606>,<c0638>);\
(<c0607>,<c0639>);(<c0608>,<c0640>);(<c0609>,<c0641>);\
(<c0610>,<c0642>);(<c0611>,<c0643>);(<c0612>,<c0644>);\
(<c0613>,<c0645>);(<c0614>,<c0646>);(<c0615>,<c0647>);\
(<c0616>,<c0648>);(<c0617>,<c0649>);(<c0618>,<c0650>);\
(<c0619>,<c0651>);(<c0620>,<c0652>);(<c0621>,<c0653>);\
(<c0622>,<c0654>);(<c0623>,<c0655>);(<c0624>,<c0656>);\
(<c0701>,<c0749>);(<c0702>,<c0750>);(<c0703>,<c0751>);\
(<c0704>,<c0752>);(<c0705>,<c0753>);(<c0706>,<c0754>);\
(<c0707>,<c0755>);(<c0708>,<c0756>);(<c0709>,<c0757>);\
(<c0710>,<c0758>);(<c0711>,<c0759>);(<c0712>,<c0760>);\
(<c0713>,<c0761>);(<c0714>,<c0762>);(<c0715>,<c0763>);\
(<c0716>,<c0764>);(<c0717>,<c0765>);(<c0718>,<c0766>);\
(<c0719>,<c0767>);(<c0720>,<c0768>);(<c0721>,<c0769>);\
(<c0722>,<c0770>);(<c0723>,<c0771>);(<c0724>,<c0772>);\
(<c0725>,<c0773>);(<c0726>,<c0774>);(<c0727>,<c0775>);\
(<c0728>,<c0776>);(<c0729>,<c0777>);(<c0730>,<c0778>);\
tolower (<A>,<a>);(<B>,<b>);(<C>,<c>);(<D>,<d>);(<E>,<e>);/
(<F>,<f>);(<G>,<g>);(<H>,<h>);(<I>,<i>);(<J>,<j>);/
(<K>,<k>);(<L>,<l>);(<M>,<m>);(<N>,<n>);(<O>,<o>);/
(<P>,<p>);(<Q>,<q>);(<R>,<r>);(<S>,<s>);(<T>,<t>);/
(<U>,<u>);(<V>,<v>);(<W>,<w>);(<X>,<x>);(<Y>,<y>);/
(<Z>,<z>);/
(<c0333>,<c0365>);(<c0334>,<c0366>);(<c0335>,<c0367>);/
(<c0336>,<c0368>);(<c0337>,<c0369>);(<c0338>,<c0370>);/
(<c0339>,<c0371>);(<c0340>,<c0372>);(<c0341>,<c0373>);/
(<c0342>,<c0374>);(<c0343>,<c0375>);(<c0344>,<c0376>);/
(<c0345>,<c0377>);(<c0346>,<c0378>);(<c0347>,<c0379>);/
(<c0348>,<c0380>);(<c0349>,<c0381>);(<c0350>,<c0382>);/
(<c0351>,<c0383>);(<c0352>,<c0384>);(<c0353>,<c0385>);/
(<c0354>,<c0386>);(<c0355>,<c0387>);(<c0356>,<c0388>);/
(<c0357>,<c0389>);(<c0358>,<c0390>);/
(<c0601>,<c0633>);(<c0602>,<c0634>);(<c0603>,<c0635>);/
(<c0604>,<c0636>);(<c0605>,<c0637>);(<c0606>,<c0638>);/
(<c0607>,<c0639>);(<c0608>,<c0640>);(<c0609>,<c0641>);/
(<c0610>,<c0642>);(<c0611>,<c0643>);(<c0612>,<c0644>);/
(<c0613>,<c0645>);(<c0614>,<c0646>);(<c0615>,<c0647>);/
(<c0616>,<c0648>);(<c0617>,<c0649>);(<c0618>,<c0650>);/
(<c0619>,<c0651>);(<c0620>,<c0652>);(<c0621>,<c0653>);/
(<c0622>,<c0654>);(<c0623>,<c0655>);(<c0624>,<c0656>);/
(<c0701>,<c0749>);(<c0702>,<c0750>);(<c0703>,<c0751>);/
(<c0704>,<c0752>);(<c0705>,<c0753>);(<c0706>,<c0754>);/
(<c0707>,<c0755>);(<c0708>,<c0756>);(<c0709>,<c0757>);/
(<c0710>,<c0758>);(<c0711>,<c0759>);(<c0712>,<c0760>);/
(<c0713>,<c0761>);(<c0714>,<c0762>);(<c0715>,<c0763>);/
(<c0716>,<c0764>);(<c0717>,<c0765>);(<c0718>,<c0766>);/
(<c0719>,<c0767>);(<c0720>,<c0768>);(<c0721>,<c0769>);/
(<c0722>,<c0770>);(<c0723>,<c0771>);(<c0724>,<c0772>);/
(<c0725>,<c0773>);(<c0726>,<c0774>);(<c0727>,<c0775>);/
(<c0728>,<c0776>);(<c0729>,<c0777>);(<c0730>,<c0778>);/
(<c0731>,<c0779>);(<c0732>,<c0780>);(<c0733>,<c0781>)
END LC_CTYPE

View File

@ -265,5 +265,19 @@ main (int argc, char **argv)
}
}
fputs ("Test 9:\n", stdout);
{
/* From PR libc/1313 reported by Ben Caradoc-Davies <bmcd@physics.otago.ac.nz>. */
float value;
int res;
res = sscanf ("0123", "%2f", &value);
if (res != 1 || value != 1.0)
{
fputs ("test failed!\n", stdout);
result = 1;
}
}
exit (result);
}

View File

@ -1300,7 +1300,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
if (c == L_('-') || c == L_('+'))
{
negative = c == L_('-');
if (inchar () == EOF)
if (width == 0 || inchar () == EOF)
/* EOF is only an input error before we read any chars. */
conv_error ();
if (! ISDIGIT (c) && c != decimal)
@ -1320,11 +1320,15 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
{
/* Maybe "nan". */
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('a'))
if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('a'))
input_error ();
if (width > 0)
--width;
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('n'))
if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('n'))
input_error ();
if (width > 0)
--width;
ADDW (c);
/* It is "nan". */
goto scan_float;
@ -1333,30 +1337,48 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
{
/* Maybe "inf" or "infinity". */
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('n'))
if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('n'))
input_error ();
if (width > 0)
--width;
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('f'))
if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('f'))
input_error ();
if (width > 0)
--width;
ADDW (c);
/* It is as least "inf". */
if (inchar () != EOF)
if (width != 0 && inchar () != EOF)
{
if (TOLOWER (c) == L_('i'))
{
if (width > 0)
--width;
/* Now we have to read the rest as well. */
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('n'))
if (width == 0 || inchar () == EOF
|| TOLOWER (c) != L_('n'))
input_error ();
if (width > 0)
--width;
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('i'))
if (width == 0 || inchar () == EOF
|| TOLOWER (c) != L_('i'))
input_error ();
if (width > 0)
--width;
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('t'))
if (width == 0 || inchar () == EOF
|| TOLOWER (c) != L_('t'))
input_error ();
if (width > 0)
--width;
ADDW (c);
if (inchar () == EOF || TOLOWER (c) != L_('y'))
if (width == 0 || inchar () == EOF
|| TOLOWER (c) != L_('y'))
input_error ();
if (width > 0)
--width;
ADDW (c);
}
else
@ -1368,11 +1390,13 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
is_hexa = 0;
exp_char = L_('e');
if (c == L_('0'))
if (width != 0 && c == L_('0'))
{
ADDW (c);
c = inchar ();
if (TOLOWER (c) == L_('x'))
if (width > 0)
--width;
if (width != 0 && TOLOWER (c) == L_('x'))
{
/* It is a number in hexadecimal format. */
ADDW (c);
@ -1383,6 +1407,8 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
/* Grouping is not allowed. */
flags &= ~GROUP;
c = inchar ();
if (width > 0)
--width;
}
}