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

Reply via email to