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