gbranden pushed a commit to branch master
in repository groff.

commit e8d21654c16acae268c15372f280bc5131ebab05
Author: G. Branden Robinson <[email protected]>
AuthorDate: Thu Jan 1 07:43:51 2026 -0600

    [preconv]: Fix improper type cast.
    
    * src/preproc/preconv/preconv.cpp (conversion_iconv): Use `const_cast<>`
      to cast away `const`, not `static_cast<>`.  Fixes build on Solaris
      11/sparc64/GCC 5.5.  Problem introduced by me in commit 1740c22b4a, 11
      July.  Thanks to Bruno Haible for the clue.
---
 ChangeLog                       | 8 ++++++++
 src/preproc/preconv/preconv.cpp | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d1f731c83..6b1ee3535 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2026-01-01  G. Branden Robinson <[email protected]>
+
+       * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
+       `const_cast<>` to cast away `const`, not `static_cast<>`.  Fixes
+       build on Solaris 11/sparc64/GCC 5.5.  Problem introduced by me
+       in commit 1740c22b4a, 11 July.  Thanks to Bruno Haible for the
+       clue.
+
 2025-12-31  G. Branden Robinson <[email protected]>
 
        * src/roff/troff/div.cpp (do_divert): Shift checks resulting in
diff --git a/src/preproc/preconv/preconv.cpp b/src/preproc/preconv/preconv.cpp
index 92a41131a..6fe23074e 100644
--- a/src/preproc/preconv/preconv.cpp
+++ b/src/preproc/preconv/preconv.cpp
@@ -702,7 +702,7 @@ conversion_iconv(FILE *fp, const string &data, char *enc)
   char *limit;
   while (inbytes_left > 0) {
     size_t status = iconv(handle,
-                         static_cast<ICONV_CONST char **>(&inptr),
+                         const_cast<ICONV_CONST char **>(&inptr),
                          &inbytes_left, &outptr, &outbytes_left);
     if (status == static_cast<size_t>(-1)) {
       if (EILSEQ == errno) {
@@ -737,7 +737,7 @@ conversion_iconv(FILE *fp, const string &data, char *enc)
     inbytes_left += read_bytes;
     while (inbytes_left > 0) {
       size_t status = iconv(handle,
-                           static_cast<ICONV_CONST char **>(&inptr),
+                           const_cast<ICONV_CONST char **>(&inptr),
                            &inbytes_left, &outptr, &outbytes_left);
       if (status == (size_t)-1) {
        if (EILSEQ == errno) {

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

Reply via email to