diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | elf/Makefile | 2 | ||||
-rw-r--r-- | localedata/ChangeLog | 4 | ||||
-rw-r--r-- | localedata/locales/zh_CN | 894 | ||||
-rw-r--r-- | stdio-common/tstscanf.c | 14 | ||||
-rw-r--r-- | stdio-common/vfscanf.c | 50 |
6 files changed, 518 insertions, 460 deletions
diff --git a/ChangeLog b/ChangeLog index 10f85c3364..9c4fd639e7 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 c93e3eb1f3..ff5f44a819 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 f55c3cdf8e..37d566c0c2 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 34d85285c4..6ac39fe5e8 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 4e56251e03..93f77ce2d9 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 a6e3bb2a23..b50e7b8323 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; } } |