Configuration Information [Automatically generated, do not change]: Machine: i486 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i486' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i486-pc-linux-gnu' -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I../bash -I../bash/include -I../bash/lib -g -O2 -Wall uname output: Linux loco 2.6.38-2-686 #1 SMP Tue Mar 29 17:27:45 UTC 2011 i686 GNU/Linux Machine Type: i486-pc-linux-gnu
Bash Version: 4.1 Patch Level: 5 Release Status: release Description: The builtin printf does not print arguments of format "%c" as described in printf(3). /usr/bin/printf from coreutils has the same problem. Repeat-By: $ printf %c 65 66 67 666 The expected output is ABC, i.e. characters with ASCII code of 65 66 67 Fix: --- bash-4.1/builtins/printf.def 2009-11-21 04:31:23.000000000 +0800 +++ bash-4.1-new/builtins/printf.def 2011-06-22 19:25:30.000000000 +0800 @@ -385,9 +385,9 @@ { case 'c': { - char p; + int p; - p = getchr (); + p = getintmax (); PF(start, p); break; }