Hi folks, There appears to be a bug in boost::format, an unitialized value problem spotted when I was using valgrind on a program of mine. The following test code illustrates the (admittedly minor?) problem: #include <boost/format.hpp> #include <iostream> using namespace std; int main() { int dummy = 5; cout << boost::format( "%05d" ) % dummy << endl; dummy = 0; cout << boost::format( "%05d" ) % dummy << endl; }; I compiled this with -g and when run with valgrind it seems that the put_last function in feed_args.hpp sends an uninitialized value into the standard library <<(int) operator when the integer to be printed is 0 and leading zeros are specified. Valgrind reports (clipped for size) on the second ::format call (but not the first) of the test code: ==28879== Conditional jump or move depends on uninitialised value(s) ==28879== at 0x40289470: (within /usr/lib/libstdc++.so.5.0.3) ... ==28879== by 0x4028F36B: std::ostream::operator<<(int) (in /usr/lib/libstdc++.so.5.0.3) ==28879== by 0x804CF8D: void boost::io::detail::(anonymous namespace)::put_last<char, std::char_traits<char>, int>(std::basic_ostream<char, std::char_traits<char> >&, int&) (feed_args.hpp:114) ==28879== by 0x804C9A2: _ZN5boost2io6detail31_GLOBAL__N_test00Fill.cppfx7Zjb3putIcSt11char_traitsIcERiEEvT1_RKNS1_11format_itemIT_T0_EERSbIS9_SA_SaIS9_EERSt19basic_ostringstreamIS9_SA_SE_E (feed_args.hpp:176) ==28879== by 0x804BF44: void boost::io::detail::distribute<char, std::char_traits<char>, int&>(boost::basic_format<char, std::char_traits<char> >&, int&) (feed_args.hpp:237) ==28879== by 0x804ABB6: _ZN5boost2io6detail4feedIcSt11char_traitsIcERiEERNS_12basic_formatIT_T0_EESA_T1_ (feed_args.hpp:246) ==28879== by 0x804A14B: boost::basic_format<char, std::char_traits<char> >& boost::basic_format<char, std::char_traits<char> >::operator%<int>(int&) (format_class.hpp:69) ... Hope this helps. Otherwise I'm enjoying using boost! Best regards --- Simon -- Simon Clift E-mail: ssclift at math dot uwaterloo dot ca Ph.D. Student Scientific Computation Group University of Waterloo Waterloo, Ontario, Canada N2L 3G1