I could avoid the problem on Windows by not using putback(). The code no longer
has the nice symmetry in
check_magic(in, "begin_SG");
...
check_magic(in, "end_SG");
but since this code only is about a part of the input that we ignore and since
we want to remove it in the future anyway, I hope this is ok.
peek_magic wasn't used anywhere else, so I removed it as well. I think the
origin of the function was to support the old legacy file format.
The code is in my repository:
https://bitbucket.org/flogo/downward-issues/pull-requests/2
Salome, could you test if your error goes away with this change as well? You
would have to merge the two issues locally (or just manually copy and replace
the two lines from the pull request for the test). By the way, when I copied
your output file to the buildbot, I still got "my" error, not "yours". Seems
there is nothing wrong with the file, but the two machines generate different
errors.
For the record: we debugged the other error today and found that the DTG parser
read numbers [..., 3, 8, 206, ...] where the actual file only had [..., 3, 206,
...] while passing all of the "in.good()" assertions. The DTG parsing happened
after skipping the successor generator with peek_magic, so it potentially had
the same reason.
|