groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 01/25: [troff]: Trivially refactor (`get_long_name()`).


From: G. Branden Robinson
Subject: [groff] 01/25: [troff]: Trivially refactor (`get_long_name()`).
Date: Fri, 19 Jul 2024 15:12:40 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit e41cbff3d348c6772a77e91634b7f595e28d4317
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Tue Jul 16 09:47:49 2024 -0500

    [troff]: Trivially refactor (`get_long_name()`).
    
    * src/roff/troff/input.cpp (get_long_name): Call `do_get_long_name()`
      with null character literal for parameter of `char` type, rather than
      punning an integral zero.
    
      (do_get_long_name): Rename parameter from `end` to `end_char`.
---
 ChangeLog                |  7 +++++++
 src/roff/troff/input.cpp | 10 +++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e4250ee72..6955546f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2024-07-16  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       * src/roff/troff/input.cpp (get_long_name): Call
+       `do_get_long_name()` with null character literal for parameter
+       of `char` type, rather than punning an integral zero.
+       (do_get_long_name): Rename parameter from `end` to `end_char`.
+
 2024-07-16  G. Branden Robinson <g.branden.robinson@gmail.com>
 
        * bootstrap: Resync with gnulib upstream.  Thanks to Collin Funk
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index cc90eda1c..6fa1d2388 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -2696,10 +2696,10 @@ symbol get_name(bool required)
 
 symbol get_long_name(bool required)
 {
-  return do_get_long_name(required, 0);
+  return do_get_long_name(required, '\0');
 }
 
-static symbol do_get_long_name(bool required, char end)
+static symbol do_get_long_name(bool required, char end_char)
 {
   while (tok.is_space())
     tok.next();
@@ -2708,7 +2708,7 @@ static symbol do_get_long_name(bool required, char end)
   int buf_size = ABUF_SIZE;
   int i = 0;
   for (;;) {
-    // If end != 0 we normally have to append a null byte
+    // If `end_char` != `\0` we normally have to append a null byte.
     if (i + 2 > buf_size) {
       if (buf == abuf) {
        buf = new char[ABUF_SIZE*2];
@@ -2723,7 +2723,7 @@ static symbol do_get_long_name(bool required, char end)
        delete[] old_buf;
       }
     }
-    if ((buf[i] = tok.ch()) == 0 || buf[i] == end)
+    if ((buf[i] = tok.ch()) == 0 || buf[i] == end_char)
       break;
     i++;
     tok.next();
@@ -2732,7 +2732,7 @@ static symbol do_get_long_name(bool required, char end)
     diagnose_missing_identifier(required);
     return NULL_SYMBOL;
   }
-  if (end && buf[i] == end)
+  if (end_char && buf[i] == end_char)
     buf[i+1] = '\0';
   else
     diagnose_invalid_identifier();



reply via email to

[Prev in Thread] Current Thread [Next in Thread]