Koji Yokota wrote: > Georg Baum wrote: >> Then Koji could fire up a debugger, set a breakpoint in >> parse_printf_directive() and report what the result of the narrow() call >> is. > > Do you mean the return value of wrap_narrow() call? If so, the result of > gdb was:
Yes, I meant that. > > $1 = -65 '\277' > > It appeared twice in boost/boost/format/parsing.hpp, in line 181 and 259 > and both gave the same result. And what is the value of *start? And how does the whole format string look like? Unfortunately I forgot to ask for that. I am now pretty sure that the problem is not in any locale stuff, but in boost::format itself, because normally this part of the code should only be reached with valid format characters (and signed -65 == unsigned 191 == 0277 == 0xbf is not a valid format character). If you want to debug this fdurther it might be a good idea to write a small standalone program that simply calls boost::format with the problematic input. Georg