X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FChktex.C;h=8e315bd9bdd0bd2a4a555d6afd8cd76499829faa;hb=fc8465aa1f6f29774d2f35d627b40198fa489cb1;hp=35c6ba5455104a9bcfebec568f80089860093ae5;hpb=27de1486ca34aaad446adb798d71a77d6f6304da;p=lyx.git diff --git a/src/Chktex.C b/src/Chktex.C index 35c6ba5455..8e315bd9bd 100644 --- a/src/Chktex.C +++ b/src/Chktex.C @@ -1,19 +1,19 @@ /* This file is part of - * ====================================================== + * ====================================================== * * LyX, The Document Processor - * Copyright (C) 1995 Matthias Ettrich - * Copyright (C) 1995-1998 The LyX Team. + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2000 The LyX Team. * - * This file is Copyright (C) 1997-1998 + * This file is Copyright 1997-1998 * Asger Alstrup * - *====================================================== + * ====================================================== */ #include -#include // atoi +#include #ifdef __GNUG__ #pragma implementation @@ -21,27 +21,23 @@ #include "Chktex.h" #include "LaTeX.h" // TeXErrors -#include "filetools.h" +#include "support/filetools.h" #include "lyxlex.h" -#include "FileInfo.h" -#include "error.h" -#include "syscall.h" -#include "syscontr.h" -#include "pathstack.h" +#include "support/FileInfo.h" +#include "debug.h" +#include "support/syscall.h" +#include "support/syscontr.h" +#include "support/path.h" #include "gettext.h" -// $Id: Chktex.C,v 1.1 1999/09/27 18:44:36 larsbj Exp $ - -#if !defined(lint) && !defined(WITH_WARNINGS) -static char vcid[] = "$Id: Chktex.C,v 1.1 1999/09/27 18:44:36 larsbj Exp $"; -#endif /* lint */ - +using std::ifstream; +using std::getline; /* * CLASS Chktex */ -Chktex::Chktex(LString const & chktex, LString const & f, LString const & p) +Chktex::Chktex(string const & chktex, string const & f, string const & p) : cmd(chktex), file(f), path(p) { } @@ -50,10 +46,10 @@ Chktex::Chktex(LString const & chktex, LString const & f, LString const & p) int Chktex::run(TeXErrors &terr) { // run bibtex - LString log = ChangeExtension(file, ".log", true); - LString tmp = cmd + " -q -v0 -b0 -x " + file + " -o " + log; + 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); + int result= one.startscript(Systemcalls::System, tmp); if (result == 0) { result = scanLogFile(terr); } else { @@ -63,37 +59,26 @@ int Chktex::run(TeXErrors &terr) } -int Chktex::scanLogFile(TeXErrors &terr) +int Chktex::scanLogFile(TeXErrors & terr) { - LString token; + string token; int retval = 0; - LyXLex lex(NULL, 0); - - LString tmp = ChangeExtension(file, ".log", true); - - if (!lex.setFile(tmp)) { - // Unable to open file. Return at once - return -1; - } - - while (lex.IsOK()) { - if (lex.EatLine()) - token = lex.GetString(); - else // blank line in the file being read - continue; + string tmp = OnlyFilename(ChangeExtension(file, ".log")); - LString srcfile, line, pos, warno, warning; - token.split(srcfile, ':'); - token.split(line, ':'); - token.split(pos, ':'); - token.split(warno, ':'); - token.split(warning, ':'); + ifstream ifs(tmp.c_str()); + while (getline(ifs, token)) { + string srcfile, line, pos, warno, 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++; + ++retval; } return retval; }