gbranden pushed a commit to branch master
in repository groff.

commit 9d729eebc73bc9df642b0d7e60006cd4b216a693
Author: G. Branden Robinson <[email protected]>
AuthorDate: Wed Apr 8 18:39:28 2026 -0500

    [libgroff]: Add `string::contains()`.
    
    * src/include/stringclass.h (class string): Declare it, returning
      `bool`.
    
    * src/libs/libgroff/string.cpp (string::contains): Define it.
---
 ChangeLog                    | 8 ++++++++
 src/include/stringclass.h    | 1 +
 src/libs/libgroff/string.cpp | 7 ++++++-
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 3b245876d..0f96173ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2026-04-08  G. Branden Robinson <[email protected]>
+
+       [libgroff]: Add `contains()` member function to `string` class.
+
+       * src/include/stringclass.h (class string): Declare it,
+       returning `bool`.
+       * src/libs/libgroff/string.cpp (string::contains): Define it.
+
 2026-04-08  G. Branden Robinson <[email protected]>
 
        [troff]: Improve type discipline with respect to internal
diff --git a/src/include/stringclass.h b/src/include/stringclass.h
index f885b4bcf..9f8883f8d 100644
--- a/src/include/stringclass.h
+++ b/src/include/stringclass.h
@@ -68,6 +68,7 @@ public:
   void set_length(int i);
   const char *contents() const;
   int search(const char) const;
+  bool contains(const char) const;
   int find(const char *) const;
   char *extract() const;
   size_t json_length() const;
diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
index eebf32460..ec3322709 100644
--- a/src/libs/libgroff/string.cpp
+++ b/src/libs/libgroff/string.cpp
@@ -89,7 +89,7 @@ static char *srealloc(char *ptr, int oldsz, int oldlen, int 
newlen,
   }
 }
 
-string::string() : ptr(0), len(0), sz(0)
+string::string() : ptr(0 /* nullptr */), len(0), sz(0)
 {
 }
 
@@ -292,6 +292,11 @@ int string::search(const char c) const
   return (p != 0 /* nullptr */) ? (p - ptr) : -1;
 }
 
+bool string::contains(const char c) const
+{
+  return (search(c) >= 0);
+}
+
 // Return index of substring `c` in string, -1 if not found.
 int string::find(const char *c) const
 {

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

Reply via email to