summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorG. Branden Robinson <g.branden.robinson@gmail.com>2021-11-08 07:09:44 +1100
committerG. Branden Robinson <g.branden.robinson@gmail.com>2021-11-08 07:10:49 +1100
commitf635b2c052dccffa53804ee7506fd42fde619d90 (patch)
tree1446fc8d8ca8a5ac89a359ca4550dbe94d7d087d
parent5b7fee5d6392edf90dc1f0fa7d013f36fea5964c (diff)
downloadgroff-git-f635b2c052dccffa53804ee7506fd42fde619d90.tar.gz
Revert "[libgroff,pic]: Use `strsave()`, not `strdup()`."
This reverts commit 5b7fee5d6392edf90dc1f0fa7d013f36fea5964c. Ingo Schwarze observed[1] that we should be migrating away from this strdup() replacement, not entrenching it. [1] https://lists.gnu.org/archive/html/groff/2021-11/msg00039.html
-rw-r--r--ChangeLog8
-rw-r--r--src/libs/libgroff/font.cpp11
-rw-r--r--src/preproc/pic/troff.cpp2
3 files changed, 4 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index f349e1ed0..9758a401c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13 +1,5 @@
2021-11-07 G. Branden Robinson <g.branden.robinson@gmail.com>
- [libgroff,pic]: Use `strsave()`, not `strdup()`.
-
- * src/libs/libgroff/font.cpp (font::load_desc): Do it. Also
- emit shorter diagnostic if `strsave()` returned a null pointer.
- * src/preproc/pic/troff.cpp (troff_output::set_location): Do it.
-
-2021-11-07 G. Branden Robinson <g.branden.robinson@gmail.com>
-
* src/libs/libgroff/fontfile.cpp (font::open_file): Don't open
user-specified font file names with slashes in them; i.e., don't
traverse directories outside the configured font path. Also
diff --git a/src/libs/libgroff/font.cpp b/src/libs/libgroff/font.cpp
index b7960b7eb..2168afa1b 100644
--- a/src/libs/libgroff/font.cpp
+++ b/src/libs/libgroff/font.cpp
@@ -1144,7 +1144,7 @@ bool font::load_desc()
return false;
}
bool found_paper = false;
- char *savedp = strsave(p);
+ char *savedp = strdup(p);
while (p) {
double unscaled_paperwidth, unscaled_paperlength;
if (scan_papersize(p, &papersize, &unscaled_paperlength,
@@ -1157,13 +1157,8 @@ bool font::load_desc()
p = strtok(0, WS);
}
if (!found_paper) {
- if (0 == savedp)
- t.error("unable to determine a paper format");
- else {
- t.error("unable to determine a paper format from '%1'",
- savedp);
- free(savedp);
- }
+ t.error("unable to determine a paper format from '%1'", savedp);
+ free(savedp);
return false;
}
free(savedp);
diff --git a/src/preproc/pic/troff.cpp b/src/preproc/pic/troff.cpp
index 810067a8f..3ccd681cc 100644
--- a/src/preproc/pic/troff.cpp
+++ b/src/preproc/pic/troff.cpp
@@ -560,7 +560,7 @@ void troff_output::set_location(const char *s, int n)
printf(".lf %d\n", n);
else {
printf(".lf %d %s\n", n, s);
- last_filename = strsave(s);
+ last_filename = strdup(s);
}
}