gbranden pushed a commit to branch master
in repository groff.
commit c84997f241b388b6654f36309431dc6b8efb3554
Author: G. Branden Robinson <[email protected]>
AuthorDate: Thu Jul 10 16:50:46 2025 -0500
[pre-grohtml]: Refactor.
* src/preproc/html/pre-html.cpp (get_resolution, get_image_generator):
Track the line number in the files we read to process the "resolution"
and "image_generator" directives (see groff_font(5)). Pass the line
number and resolved file name for the file thus opened to
`get_line()`.
(get_line): Update definition to accept these new arguments. (We
don't yet do anything with them.)
---
ChangeLog | 10 ++++++++++
src/preproc/html/pre-html.cpp | 8 +++++---
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f6fa960b7..7d7335f4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2025-07-10 G. Branden Robinson <[email protected]>
+
+ * src/preproc/html/pre-html.cpp (get_resolution)
+ (get_image_generator): Track the line number in the files we
+ read to process the "resolution" and "image_generator"
+ directives (see groff_font(5)). Pass the line number and
+ resolved file name for the file thus opened to `get_line()`.
+ (get_line): Update definition to accept these new arguments.
+ {We don't yet do anything with them.}
+
2025-07-10 G. Branden Robinson <[email protected]>
* src/preproc/html/pre-html.cpp (get_resolution)
diff --git a/src/preproc/html/pre-html.cpp b/src/preproc/html/pre-html.cpp
index 111673164..70dc18ba0 100644
--- a/src/preproc/html/pre-html.cpp
+++ b/src/preproc/html/pre-html.cpp
@@ -262,7 +262,7 @@ void sys_fatal(const char *s)
* global line buffer.
*/
-static bool get_line(FILE *f)
+static bool get_line(FILE *f, const char *file_name, int lineno)
{
if (0 /* nullptr */ == f)
return false;
@@ -318,7 +318,8 @@ static unsigned int get_resolution(void)
// XXX: We should break out of this loop if we hit a "charset" line.
// "This line and everything following it in the file are ignored."
// (groff_font(5))
- while (get_line(f))
+ int lineno = 1;
+ while (get_line(f, pathp, lineno++))
(void) sscanf(linebuf, "res %u", &res);
free(pathp);
fclose(f);
@@ -344,7 +345,8 @@ static char *get_image_generator(void)
// XXX: We should break out of this loop if we hit a "charset" line.
// "This line and everything following it in the file are ignored."
// (groff_font(5))
- while (get_line(f)) {
+ int lineno = 1;
+ while (get_line(f, pathp, lineno++)) {
char *cursor = linebuf;
size_t limit = strlen(linebuf);
char *end = linebuf + limit;
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit