On 2017-01-12 05:26, Lundberg Christer wrote: > This program run with GNU awk 4.1.4 (currently installed with > Cygwin): > > awk ' > BEGIN { OFMT="%.8g" > buf = 1+0.1 > buf = buf "a" > print "Length before print:", length(buf) > print buf " " > print buf > print buf " " > print "Length after print:", length(buf) > } > ' > > produces the following output on our system: > > Length before print: 4 > 1.1a > 1.1 > 1.1 > Length after print: 3 > > so it appears that the "print buf" statement unexpectedly alters the > content of buf. > With awk 4.1.3, we got the expected output > > Length before print: 4 > 1.1a > 1.1a > 1.1a > Length after print: 4
Confirmed problem with any OFMT except default or %.6g, also goes away if you change awk line 3 to: buf = "" buf "a": $ uname -srvmo CYGWIN_NT-10.0 2.6.1(0.305/5/3) 2016-12-16 11:55 x86_64 Cygwin $ awk --version GNU Awk 4.1.4, API: 1.1 (GNU MPFR 3.1.5, GNU MP 6.1.1) Copyright (C) 1989, 1991-2016 Free Software Foundation. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple