Source: https://hg.octave.org/octave/raw-rev/aaffac4fbe30
See: https://savannah.gnu.org/bugs/index.php?63684

# HG changeset patch
# User Markus Mützel <markus.muetzel@gmx.de>
# Date 1674223637 -3600
# Node ID aaffac4fbe30833c07ac7e267da19c2ff569085f
# Parent  084bbdabb969d502c964b046129b82adec2caeba
Adapt for API changes in SuiteSparse 7.0.0 or newer (bug #63684).

* liboctave/util/oct-sparse.h (SUITESPARSE_ASSIGN_FPTR,
SUITESPARSE_ASSIGN_FPTR2): Adapt macro for changes in API of SuiteSparse 7.0.0
or newer.

diff -r 084bbdabb969 -r aaffac4fbe30 liboctave/util/oct-sparse.h
--- a/liboctave/util/oct-sparse.h	Sun Jan 08 15:12:27 2023 +0100
+++ b/liboctave/util/oct-sparse.h	Fri Jan 20 15:07:17 2023 +0100
@@ -89,16 +89,27 @@
 #  include <SuiteSparseQR.hpp>
 #endif
 
-// Cope with new SuiteSparse versions
+// Cope with API differences between SuiteSparse versions
 
 #if defined (SUITESPARSE_VERSION)
-#  if (SUITESPARSE_VERSION >= SUITESPARSE_VER_CODE (4, 3))
+#  if (SUITESPARSE_VERSION >= SUITESPARSE_VER_CODE (7, 0))
+#    define SUITESPARSE_NAME(name) SuiteSparse_ ## name
+#    define SUITESPARSE_SET_FCN(name) SuiteSparse_config_ ## name ## _set
+#    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) \
+       SUITESPARSE_SET_FCN(f_name) (f_assign)
+#    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) \
+       SUITESPARSE_SET_FCN(f_name) (SUITESPARSE_NAME (f_assign))
+#  elif (SUITESPARSE_VERSION >= SUITESPARSE_VER_CODE (4, 3))
 #    define SUITESPARSE_NAME(name) SuiteSparse_ ## name
-#    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
-#    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (SuiteSparse_config.f_name = SUITESPARSE_NAME (f_assign))
+#    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) \
+       (SuiteSparse_config.f_name = f_assign)
+#    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) \
+       (SuiteSparse_config.f_name = SUITESPARSE_NAME (f_assign))
 #  else
-#    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (f_var = f_assign)
-#    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (f_var = CHOLMOD_NAME (f_assign))
+#    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) \
+       (f_var = f_assign)
+#    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) \
+       (f_var = CHOLMOD_NAME (f_assign))
 #  endif
 #endif
 

