Add temp vars to countChar.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22519 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Pavel Sanda 2008-01-12 13:34:10 +00:00
parent d39b2076c8
commit eb0f59a816

View File

@ -188,16 +188,20 @@ int countChars(DocIterator const & from, DocIterator const & to, bool with_blank
int chars = 0; int chars = 0;
int blanks = 0; int blanks = 0;
for (DocIterator dit = from ; dit != to ; dit.forwardPos()) { for (DocIterator dit = from ; dit != to ; dit.forwardPos()) {
Paragraph const para = dit.paragraph();
pos_type const pos = dit.pos();
if (dit.inTexted() if (dit.inTexted()
&& dit.pos() != dit.lastpos() && pos != dit.lastpos()
&& !dit.paragraph().isDeleted(dit.pos())) { && !para.isDeleted(pos)) {
if (dit.paragraph().isInset(dit.pos())) { if (para.isInset(pos)) {
if (dit.paragraph().getInset(dit.pos())->isLetter()) Inset const * ins = para.getInset(pos);
if (ins->isLetter())
++chars; ++chars;
else if (dit.paragraph().getInset(dit.pos())->isSpace() && with_blanks) else if (ins->isSpace() && with_blanks)
++blanks; ++blanks;
} else { } else {
char_type const c = dit.paragraph().getChar(dit.pos()); char_type const c = para.getChar(pos);
if (isPrintableNonspace(c)) if (isPrintableNonspace(c))
++chars; ++chars;
else if (isSpace(c) && with_blanks) else if (isSpace(c) && with_blanks)