From: Georg Baum Date: Tue, 25 Apr 2006 08:22:58 +0000 (+0000) Subject: * src/LaTeX.C X-Git-Tag: 1.6.10~13295 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=13cd255a3053dcb62e0392b2d127aab70ab46e4c;p=features.git * src/LaTeX.C (LaTeX::scanLogFile): remove \0 characters inserted by MikTeX before further processing (LaTeX::deplog): likewise git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13737 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/LaTeX.C b/src/LaTeX.C index 2c64fd896e..90092a7cf9 100644 --- a/src/LaTeX.C +++ b/src/LaTeX.C @@ -540,6 +540,13 @@ int LaTeX::scanLogFile(TeXErrors & terr) string token; while (getline(ifs, token)) { + // MikTeX sometimes inserts \0 in the log file. They can't be + // removed directly with the existing string utility + // functions, so convert them first to \r, and remove all + // \r's afterwards, since we need to remove them anyway. + token = subst(token, '\0', '\r'); + token = subst(token, "\r", ""); + lyxerr[Debug::LATEX] << "Log line: " << token << endl; if (token.empty()) @@ -760,7 +767,12 @@ void LaTeX::deplog(DepTable & head) string token; getline(ifs, token); - token = rtrim(token, "\r"); + // MikTeX sometimes inserts \0 in the log file. They can't be + // removed directly with the existing string utility + // functions, so convert them first to \r, and remove all + // \r's afterwards, since we need to remove them anyway. + token = subst(token, '\0', '\r'); + token = subst(token, "\r", ""); if (token.empty()) continue;