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

Reply via email to