X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FChktex.C;h=6b86ed68504b3956c4d36512d66b4dd2b7d50e80;hb=9dafe9b9a5cb12e19e0f3a1a9669d81dc140b0e3;hp=375b42bfe894dc0e8e4de3d419af4247073c7cb3;hpb=a040c0bc6f017d0591bbc7ad1aa590589dbc40ff;p=lyx.git diff --git a/src/Chktex.C b/src/Chktex.C index 375b42bfe8..6b86ed6850 100644 --- a/src/Chktex.C +++ b/src/Chktex.C @@ -3,7 +3,7 @@ * * LyX, The Document Processor * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * This file is Copyright 1997-1998 * Asger Alstrup @@ -13,23 +13,27 @@ #include -#include // atoi - #ifdef __GNUG__ #pragma implementation #endif #include "Chktex.h" #include "LaTeX.h" // TeXErrors -#include "support/filetools.h" #include "lyxlex.h" -#include "support/FileInfo.h" #include "debug.h" -#include "support/syscall.h" -#include "support/syscontr.h" -#include "support/path.h" #include "gettext.h" +#include "support/FileInfo.h" +#include "support/filetools.h" +#include "support/systemcall.h" +#include "support/path.h" +#include "support/lstrings.h" + +#include + +using std::ifstream; +using std::getline; + /* * CLASS Chktex */ @@ -43,10 +47,10 @@ Chktex::Chktex(string const & chktex, string const & f, string const & p) int Chktex::run(TeXErrors &terr) { // run bibtex - string log = ChangeExtension(file, ".log", true); + string log = OnlyFilename(ChangeExtension(file, ".log")); string tmp = cmd + " -q -v0 -b0 -x " + file + " -o " + log; - Systemcalls one; - int result= one.startscript(Systemcalls::System, tmp); + Systemcall one; + int result= one.startscript(Systemcall::Wait, tmp); if (result == 0) { result = scanLogFile(terr); } else { @@ -56,23 +60,27 @@ int Chktex::run(TeXErrors &terr) } -int Chktex::scanLogFile(TeXErrors &terr) +int Chktex::scanLogFile(TeXErrors & terr) { string token; int retval = 0; - string tmp = ChangeExtension(file, ".log", true); + string tmp = OnlyFilename(ChangeExtension(file, ".log")); ifstream ifs(tmp.c_str()); while (getline(ifs, token)) { - string srcfile, line, pos, warno, warning; + string srcfile; + string line; + string pos; + string warno; + string warning; token = split(token, srcfile, ':'); token = split(token, line, ':'); token = split(token, pos, ':'); token = split(token, warno, ':'); token = split(token, warning, ':'); - int lineno = atoi(line.c_str()); + int lineno = lyx::atoi(line); warno = _("ChkTeX warning id #") + warno; terr.insertError(lineno, warno, warning); ++retval;