summary refs log tree commit diff
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 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;
 		}
 	    }