X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=src%2Fpreproc%2Fprep.cpp;h=020b3321845d595edc32cfa84d78c13b0244c6c9;hb=HEAD;hp=dda3901c4149ad32f404b8ce82848306d95db08e;hpb=b2bcd7aad84b87e82c1029ba9741953f559e317d;p=vlp.git diff --git a/src/preproc/prep.cpp b/src/preproc/prep.cpp index dda3901..020b332 100644 --- a/src/preproc/prep.cpp +++ b/src/preproc/prep.cpp @@ -6,7 +6,6 @@ #include #include #include -#include class IncFile { @@ -31,41 +30,42 @@ IncFile *findTrueLine(int ln, int *trueline) int c1 = 0; // int c2 = 0; - if (inc.isEmpty()) { + QListIterator incFileIterator(inc); + if (!incFileIterator.hasNext()) { *trueline = ln; return NULL; - } + } pl.clear(); - pom = inc.first(); + pom = incFileIterator.next(); if (pom->start > ln) { *trueline = ln; return NULL; } - while ((pom != NULL) && (ln > pom->start)) { + while ((incFileIterator.hasNext()) && (ln > pom->start)) { if (ln < pom->start + pom->len) { *trueline = ln-pom->start; return pom; } pl.append(pom); - pom=inc.takeFirst(); + pom=incFileIterator.next(); } - if (pom != NULL) { - pom1 = pl.first(); + if (incFileIterator.hasNext()) { + QListIterator plIterator(pl); c1=0; - while (pom1 != NULL) { + while (plIterator.hasNext()) { + pom1 = plIterator.next(); c1 += pom1->len; - pom1 = pl.takeFirst(); } *trueline = ln - c1; return NULL; } else { - pom1 = inc.first(); + incFileIterator.toFront(); c1 = 0; - while (pom1 != NULL) { + while (incFileIterator.hasNext()) { + pom1 = incFileIterator.next(); c1 += pom1->len; - pom1=inc.takeFirst(); } *trueline = ln - c1; return NULL; @@ -83,7 +83,7 @@ int main(int argc,char **argv) int currentline = 1; int i, j, line, tline; - + inc.clear(); poms.sprintf("%s", argv[1]); i = poms.findRev('/', poms.length() - 1, FALSE); @@ -127,7 +127,7 @@ int main(int argc,char **argv) } if (!srcfile.open(IO_ReadOnly)) { - fprintf(stdout, "Cannot open file\n"); + fprintf(stdout, "Cannot open file: %s\n", srcfile.fileName().toStdString().c_str()); exit(1); } @@ -201,7 +201,12 @@ int main(int argc,char **argv) unlink(poms1.toStdString().c_str()); } } else { - fprintf(stdout, "Errors\n"); + QString errors; + errors.sprintf("Errors: %s does not exists, current path: %s\n", + poms.toStdString().c_str(), + QDir::currentPath().toStdString().c_str() + ); + fprintf(stdout, errors.toStdString().c_str()); poms.sprintf("%s/.cmp00", mydir); QFile err(poms.toStdString().c_str());