From 13cd255a3053dcb62e0392b2d127aab70ab46e4c Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Tue, 25 Apr 2006 08:22:58 +0000 Subject: [PATCH] * 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 --- src/LaTeX.C | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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; -- 2.39.2