aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--elf/Makefile2
-rw-r--r--localedata/ChangeLog4
-rw-r--r--localedata/locales/zh_CN894
-rw-r--r--stdio-common/tstscanf.c14
-rw-r--r--stdio-common/vfscanf.c50
6 files changed, 518 insertions, 460 deletions
diff --git a/ChangeLog b/ChangeLog
index 10f85c3..9c4fd63 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/elf/Makefile b/elf/Makefile
index c93e3eb..ff5f44a 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -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
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index f55c3cd..37d566c 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -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.
diff --git a/localedata/locales/zh_CN b/localedata/locales/zh_CN
index 34d8528..6ac39fe 100644
--- a/localedata/locales/zh_CN
+++ b/localedata/locales/zh_CN
@@ -35,12 +35,12 @@ 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:
% Alphabets in portable character set,
@@ -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,55 +63,55 @@ 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>
-
+
%
% space class:
% Space characters defined in ISO DIS 9945-2 "POSIX" locale
% 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>
%
% cntrl class: C0 and C1 control characters as per ISO 6429.
% SS2 and SS3 may be excluded if an acompanying charmap uses them
-% as single shifts to invoke graphic characters (as in EUC).
+% as single shifts to invoke graphic characters (as in EUC).
% Control characters in udc or vdc may be added.
-%
-
-
-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>
-
+
%
% punct class:
% Special characters in udc or vdc may be added as long as they
% 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,229 +120,229 @@ 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:
% <space>, <c0101>,
% 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>
-
+
%
% blank class
%
@@ -352,206 +352,206 @@ 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
-
+
LC_COLLATE
order_start forward
-<NUL>
-<SOH>
-<STX>
-<ETX>
-<EOT>
-<ENQ>
-<ACK>
-<alert>
-<backspace>
-<tab>
-<newline>
-<vertical-tab>
-<form-feed>
-<carriage-return>
+<NUL>
+<SOH>
+<STX>
+<ETX>
+<EOT>
+<ENQ>
+<ACK>
+<alert>
+<backspace>
+<tab>
+<newline>
+<vertical-tab>
+<form-feed>
+<carriage-return>
<SI>
<SO>
-<DLE>
-<DC1>
-<DC2>
-<DC3>
-<DC4>
-<NAK>
-<SYN>
-<ETB>
-<CAN>
+<DLE>
+<DC1>
+<DC2>
+<DC3>
+<DC4>
+<NAK>
+<SYN>
+<ETB>
+<CAN>
<EM>
-<SUB>
-<ESC>
-<IS4>
-<IS3>
-<IS2>
-<IS1>
-<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>
-<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>
-<y>
-<z>
-<left-curly-bracket>
-<vertical-line>
-<right-curly-bracket>
-<tilde>
+<SUB>
+<ESC>
+<IS4>
+<IS3>
+<IS2>
+<IS1>
+<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>
+<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>
+<y>
+<z>
+<left-curly-bracket>
+<vertical-line>
+<right-curly-bracket>
+<tilde>
<DEL>
%
% GB2312-1980 Code order here
@@ -824,7 +824,7 @@ END LC_COLLATE
% The following is Keld Simonsen's work.
% I guess no need to add anything.
-
+
LC_MONETARY
int_curr_symbol "<C><N><Y><SP>"
currency_symbol "<c5218>"
@@ -842,14 +842,14 @@ n_sep_by_space 0
p_sign_posn 1
n_sign_posn 4
END LC_MONETARY
-
+
LC_NUMERIC
decimal_point "<.>"
thousands_sep "<,>"
grouping 3;0
END LC_NUMERIC
-
-LC_TIME
+
+LC_TIME
abday "<c4053>","<c5027>";"<c2294>";"<c4093>";/
"<c4336>";"<c4669>";"<c3389>"
day "<c4839><c3858><c4053>";/
@@ -889,8 +889,8 @@ t_fmt "<%><T>"
am_pm "";""
t_fmt_ampm ""
END LC_TIME
-
+
LC_MESSAGES
yesexpr "<<(><1><c0357><c0389><c4239><Y><y><)/>><.><*>"
noexpr "<<(><0><c0378><c0346><c2381><N><n><)/>><.><*>"
-END LC_MESSAGES \ No newline at end of file
+END LC_MESSAGES
diff --git a/stdio-common/tstscanf.c b/stdio-common/tstscanf.c
index 4e56251..93f77ce 100644
--- a/stdio-common/tstscanf.c
+++ b/stdio-common/tstscanf.c
@@ -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);
}
diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
index a6e3bb2..b50e7b8 100644
--- a/stdio-common/vfscanf.c
+++ b/stdio-common/vfscanf.c
@@ -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;
}
}