gbranden pushed a commit to branch master
in repository groff.
commit 48b3b6294cdab0febd53039b6d76bf7f3302400b
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sat Jul 11 19:58:23 2026 -0500
[troff]: Slightly refactor.
* src/roff/troff/input.cpp (set_character_flags_request): Slightly
refactor to handle an error case (first argument is not an integer)
differently so as to return early, dropping indentation level of the
most complex part of the function.
---
ChangeLog | 7 +++++
src/roff/troff/input.cpp | 74 +++++++++++++++++++++++++-----------------------
2 files changed, 45 insertions(+), 36 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 63dce74a6..ff9a8d9cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2026-07-11 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/input.cpp (set_character_flags_request):
+ Slightly refactor to handle an error case (first argument is not
+ an integer) differently so as to return early, dropping
+ indentation level of the most complex part of the function.
+
2026-07-11 G. Branden Robinson <[email protected]>
* src/roff/troff/number.cpp (is_valid_term): Recast error
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index a0ebff94c..abef1e920 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -8866,43 +8866,45 @@ static void set_character_flags_request() // .cflags
return;
}
int flags;
- if (read_integer(&flags)) {
- if ((flags < 0) || (flags > charinfo::CFLAGS_MAX)) {
- warning(WARN_RANGE, "character flags must be in range 0..%1,"
- " got %2", charinfo::CFLAGS_MAX, flags);
- skip_line();
- return;
- }
- if (((flags & charinfo::ENDS_SENTENCE)
- && (flags & charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE))
- || ((flags & charinfo::ALLOWS_BREAK_BEFORE)
- && (flags & charinfo::PROHIBITS_BREAK_BEFORE))
- || ((flags & charinfo::ALLOWS_BREAK_AFTER)
- && (flags & charinfo::PROHIBITS_BREAK_AFTER))) {
- warning(WARN_SYNTAX, "ignoring contradictory character flags: "
- "%1", flags);
- skip_line();
- return;
- }
- if (!has_arg()) {
- warning(WARN_MISSING, "character flags configuration request"
- " expects one or more characters to configure");
- skip_line();
- return;
- }
- while (tok.is_any_character()) {
- charinfo *ci = tok.get_charinfo(true /* is_mandatory */);
- if (0 /* nullptr */ == ci)
- assert(0 == "attempted to use token without charinfo in"
- " character flags assignment request");
- else {
- charinfo *tem = ci->get_translation();
- if (tem != 0 /* nullptr */)
- ci = tem;
- ci->set_flags(flags);
- }
- tok.next();
+ if (!read_integer(&flags)) {
+ skip_line();
+ return;
+ }
+ if ((flags < 0) || (flags > charinfo::CFLAGS_MAX)) {
+ warning(WARN_RANGE, "character flags must be in range 0..%1,"
+ " got %2", charinfo::CFLAGS_MAX, flags);
+ skip_line();
+ return;
+ }
+ if (((flags & charinfo::ENDS_SENTENCE)
+ && (flags & charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE))
+ || ((flags & charinfo::ALLOWS_BREAK_BEFORE)
+ && (flags & charinfo::PROHIBITS_BREAK_BEFORE))
+ || ((flags & charinfo::ALLOWS_BREAK_AFTER)
+ && (flags & charinfo::PROHIBITS_BREAK_AFTER))) {
+ warning(WARN_SYNTAX, "ignoring contradictory character flags: "
+ "%1", flags);
+ skip_line();
+ return;
+ }
+ if (!has_arg()) {
+ warning(WARN_MISSING, "character flags configuration request"
+ " expects one or more characters to configure");
+ skip_line();
+ return;
+ }
+ while (tok.is_any_character()) {
+ charinfo *ci = tok.get_charinfo(true /* is_mandatory */);
+ if (0 /* nullptr */ == ci)
+ assert(0 == "attempted to use token without charinfo in"
+ " character flags assignment request");
+ else {
+ charinfo *tem = ci->get_translation();
+ if (tem != 0 /* nullptr */)
+ ci = tem;
+ ci->set_flags(flags);
}
+ tok.next();
}
skip_line();
}
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit