X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=src%2Fpreproc%2Fprep.cpp;fp=src%2Fpreproc%2Fprep.cpp;h=00b564edd523de2ea95e80c86b2f1adf17134635;hb=b48a74556fd21dfc175d754058d22b9216e6b12e;hp=dda3901c4149ad32f404b8ce82848306d95db08e;hpb=595f80b4f2420ff252f137cacb22a7d4b6f0850d;p=vlp.git diff --git a/src/preproc/prep.cpp b/src/preproc/prep.cpp index dda3901..00b564e 100644 --- a/src/preproc/prep.cpp +++ b/src/preproc/prep.cpp @@ -31,41 +31,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;