gbranden pushed a commit to branch master
in repository groff.

commit 6ec020c11f1d92b6063ae03dc8cb98576c182c8a
Author: G. Branden Robinson <[email protected]>
AuthorDate: Fri Mar 20 20:04:21 2026 -0500

    src/roff/troff/input.cpp: Work on Savannah #67735.
    
    * src/roff/troff/input.cpp: Improve type discipline with respect to
      groff's internal character representation.
    
      (macro::append): Append to macro contents using explicitly unsigned
      character (integer) literal rather than a signed one, for conceptual
      clarity.  "groff characters" are, for now, unsigned bytes.
    
      (macro_header::copy, string_iterator::fill, substring_request):
      Compare character read from an groff string iterator to unsigned
      character (integer) literal.
    
    Continues the long process of fixing Savannah #67735.
---
 ChangeLog                | 14 ++++++++++++++
 src/roff/troff/input.cpp | 13 +++++++------
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 06238f0a6..68b5367cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2026-03-20  G. Branden Robinson <[email protected]>
+
+       * src/roff/troff/input.cpp: Improve type discipline with respect
+       to groff's internal character representation.
+       (macro::append): Append to macro contents using explicitly
+       unsigned character (integer) literal rather than a signed one,
+       for conceptual clarity.  "groff characters" are, for now,
+       unsigned bytes.
+       (macro_header::copy, string_iterator::fill, substring_request):
+       Compare character read from an groff string iterator to unsigned
+       character {integer} literal.
+
+       Continues the long process of fixing Savannah #67735.
+
 2026-03-20  G. Branden Robinson <[email protected]>
 
        * src/roff/troff/input.cpp (composite_glyph_name)
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index dd90e5133..5f85c1c65 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -3823,6 +3823,7 @@ char_block::char_block()
 {
 }
 
+// TODO: grochar
 class char_list {
 public:
   char_list();
@@ -4110,7 +4111,7 @@ void macro::append(node *n)
       delete p;
     p = tem;
   }
-  p->cl.append(0);
+  p->cl.append(0U); // TODO: grochar
   p->nl.append(n);
   ++len;
   is_empty_macro = false;
@@ -4213,7 +4214,7 @@ macro_header *macro_header::copy(int n)
     }
     unsigned char c = *ptr++;
     p->cl.append(c);
-    if (0 == c) {
+    if (0U == c) {
       p->nl.append(nd->copy());
       nd = nd->next;
     }
@@ -4386,7 +4387,7 @@ int string_iterator::fill(node **np)
       p++;
       break;
     }
-    if ('\0' == c)
+    if (0U == c)
       break;
     p++;
   }
@@ -5881,7 +5882,7 @@ void substring_request()
            c = iter.get(0 /* nullptr */);
          if (EOF == c)
            break;
-         if (0 == c)
+         if (0U == c)
            mac.append(nd);
          else
            mac.append((unsigned char) c);
@@ -6588,9 +6589,9 @@ bool non_interpreted_node::interpret(macro *m)
   node *n = 0 /* nullptr */;
   for (;;) {
     int c = si.get(&n);
-    if (EOF == c)
+    if (EOF == c) // TODO: grochar
       break;
-    if (0 == c)
+    if (0U == c) // TODO: grochar
       m->append(n);
     else
       m->append(c);

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to