[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 10/27: [troff]: Trivially refactor; add utility function.
From: |
G. Branden Robinson |
Subject: |
[groff] 10/27: [troff]: Trivially refactor; add utility function. |
Date: |
Mon, 28 Aug 2023 15:54:47 -0400 (EDT) |
gbranden pushed a commit to branch master
in repository groff.
commit f8cecaabd575908cf338635d95a094d95f07c41d
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Sun Aug 27 11:51:29 2023 -0500
[troff]: Trivially refactor; add utility function.
* src/roff/troff/node.cpp (is_nonnegative_integer): New function tests
C-style string for validity as such; promoted from open code because I
just spotted a second place we can use it.
---
ChangeLog | 8 ++++++++
src/roff/troff/node.cpp | 10 +++++++---
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3a3cd14e0..00ea9ab99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2023-08-27 G. Branden Robinson <g.branden.robinson@gmail.com>
+
+ [troff]: Trivially refactor; add utility function.
+
+ * src/roff/troff/node.cpp (is_nonnegative_integer): New function
+ tests C-style string for validity as such; promoted from open
+ code because I just spotted a second place we can use it.
+
2023-08-27 G. Branden Robinson <g.branden.robinson@gmail.com>
[troff]: Trivially refactor; demote `int`-returning functions to
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index 74972eba0..dd2ea79bc 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -6027,6 +6027,12 @@ bool mount_style(int n, symbol name)
return true;
}
+// True for valid (not necessarily used) font mounting positions.
+static bool is_nonnegative_integer(const char *str)
+{
+ return strspn(str, "0123456789") == strlen(str);
+}
+
static void translate_font()
{
symbol from = get_name(true /* required */);
@@ -6317,9 +6323,7 @@ static void zoom_font()
}
symbol font_name = get_name();
assert(font_name != 0 /* nullptr */); // has_arg() should ensure this
- // XXX: What other requests demand an argument with this constraint?
- if (strspn(font_name.contents(), "0123456789")
- == strlen(font_name.contents())) {
+ if (is_nonnegative_integer(font_name.contents())) {
warning(WARN_FONT, "cannot set zoom factor of a font mounting"
" position");
skip_line();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 10/27: [troff]: Trivially refactor; add utility function.,
G. Branden Robinson <=