On Thu, Mar 30, 2006 at 10:23:38PM +0200, Enrico Forestieri wrote:

> For example, while testing I just got this assertion from boost:
> 
> assertion "src.size() == std::strlen( src.c_str() )" failed: file 
> "../../../../../boost/libs/filesystem/src/path_posix_windows.cpp", line 235
> 
> I don't get it without my patch, so, something is going wrong.
> Back to thinking...

Actually it turns out that my patch uncovered an already present problem.
I added some debug statements and got this output:

===> '25.34679pt too wide'
===> 'C:/OML/ztmcm/m/it/12 t[]/OT1/ztmcm/m/n/12'
assertion "src.size() == std::strlen( src.c_str() )" failed: file 
"../../../../../boost/libs/filesystem/src/path_posix_windows.cpp", line 238

That strange file name comes from LaTeX::deplog and is extracted from the
latex logfile. The pertinent excerpt is the following:

...
Overfull \hbox (25.34679pt too wide) in paragraph at lines 1414--1417
\T1/ptm/m/n/12 where $\OML/ztmcm/m/it/12 [] \OT1/ztmcm/m/n/12 = \OML/ztmcm/m/i
t/12 s[]\OT1/ztmcm/m/n/12 (\OML/ztmcm/m/it/12 t[]\OT1/ztmcm/m/n/12 )$\T1/ptm/m/
n/12 , and $\OML/ztmcm/m/it/12  \OT1/ztmcm/m/n/12 = \OML/ztmcm/m/it/12 R\OT1/z
tmcm/m/n/12 (\OML/ztmcm/m/it/12 t[] \OMS/ztmcm/m/n/12  \OML/ztmcm/m/it/12 t[]\
OT1/ztmcm/m/n/12 )\OML/ztmcm/m/it/12 =R\OT1/ztmcm/m/n/12 (0)$ \T1/ptm/m/n/12 is
 their cor-re-la-tion co-ef-fi-cient, be-ing $\OML/ztmcm/m/it/12 R\OT1/ztmcm/m/
n/12 (\OML/ztmcm/m/it/12 \OT1/ztmcm/m/n/12 ) = \OMS/ztmcm/m/n/12 F[] []$\T1/pt
m/m/n/12 . 
...

Here, "(\OML/ztmcm/m/it/12 t[] \OMS/ztmcm/m/n/12  \OML..." is taken
as a filename because it is after a "(". Notice that a null is in there.
I don't know if it will survive the email transfer, but I see it as ^@ in
vim, and as <soh> in nedit, just before " \OML...".

The fact that the path above has a C: prepended and '\' turned into '/'
is due to the cygwin api functions converting filepaths.

So, I think that my patch is innocent here, or at least it is not the
direct cause of the assert.

Why miktex is outputting non-text characters is beyond me, though.

-- 
Enrico

Reply via email to