[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 03/04: src/roff/troff/input.cpp: Unpessimize.
From: |
G. Branden Robinson |
Subject: |
[groff] 03/04: src/roff/troff/input.cpp: Unpessimize. |
Date: |
Sat, 14 Sep 2019 11:35:32 -0400 (EDT) |
gbranden pushed a commit to branch master
in repository groff.
commit 9f3cc8e76c37ec41540563b312ff5edfd275b022
Author: G. Branden Robinson <address@hidden>
Date: Fri Sep 13 19:21:48 2019 +1000
src/roff/troff/input.cpp: Unpessimize.
While a smart compiler knows to lift invariants outside of loops,
programmers should, too. Stop setting a bad example.
(I was reading Chu and Sebor on the C string library and was overwhelmed
by shame.)
---
ChangeLog | 4 ++++
src/roff/troff/input.cpp | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index a129f1c..5fd5c13 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2019-09-13 G. Branden Robinson <address@hidden>
+
+ * src/roff/troff/input.cpp: Lift invariant out of loop.
+
2019-09-11 G. Branden Robinson <address@hidden>
* src/preproc/refer/refer.1.man: Add mention of man and mm
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 38cf1a3..188a4b7 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -4738,7 +4738,8 @@ void do_string_case_transform(case_xform_mode mode)
}
string_iterator iter1(*m);
macro *mac = new macro;
- for (int l = 0; l < m->macro::length(); l++) {
+ int len = m->macro::length();
+ for (int l = 0; l < len; l++) {
int nc, c = iter1.get(0);
if (c == PUSH_GROFF_MODE
|| c == PUSH_COMP_MODE
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 03/04: src/roff/troff/input.cpp: Unpessimize.,
G. Branden Robinson <=