diff options
author | Christian Göttsche <cgzones@googlemail.com> | 2021-05-20 18:27:10 +0200 |
---|---|---|
committer | Christian Göttsche <cgzones@googlemail.com> | 2021-05-20 19:16:29 +0200 |
commit | ee9e7edbc18cdc37262feae9eb65ee4be68bf52b (patch) | |
tree | 6d89122880180fea62e97259360caf18201e2f5f | |
parent | a62987c7879050cbb09a02437eb1d10ed9352eee (diff) |
Solaris: handle ERR macro redefinitions
On OmniOS /usr/include/sys/regset.h redefines ERR to 13 - \r, breaking
the Enter key.
Since ncruses macros use the ERR macro, we can not use another name.
Closes: #634
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | solaris/Platform.h | 8 | ||||
-rw-r--r-- | solaris/SolarisProcess.h | 7 |
3 files changed, 20 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index d75422d8..78250621 100644 --- a/configure.ac +++ b/configure.ac @@ -298,6 +298,11 @@ fi if test "$enable_static" = yes; then AC_SEARCH_LIBS([Gpm_GetEvent], [gpm]) fi +if test "$my_htop_platform" = "solaris"; then + # On OmniOS /usr/include/sys/regset.h redefines ERR to 13 - \r, breaking the Enter key. + # Since ncruses macros use the ERR macro, we can not use another name. + AC_DEFINE([ERR], [(-1)], [Predefine ncurses macro.]) +fi AC_ARG_ENABLE([hwloc], diff --git a/solaris/Platform.h b/solaris/Platform.h index cf94fbb3..f83c4d1c 100644 --- a/solaris/Platform.h +++ b/solaris/Platform.h @@ -12,7 +12,15 @@ in the source distribution for its full text. #include "config.h" // IWYU pragma: keep #include <kstat.h> + +/* On OmniOS /usr/include/sys/regset.h redefines ERR to 13 - \r, breaking the Enter key. + * Since ncruses macros use the ERR macro, we can not use another name. + */ +#undef ERR #include <libproc.h> +#undef ERR +#define ERR (-1) + #include <signal.h> #include <stdbool.h> diff --git a/solaris/SolarisProcess.h b/solaris/SolarisProcess.h index 0b12aa0f..07b889c0 100644 --- a/solaris/SolarisProcess.h +++ b/solaris/SolarisProcess.h @@ -12,7 +12,14 @@ in the source distribution for its full text. #include <zone.h> #include <sys/proc.h> + +/* On OmniOS /usr/include/sys/regset.h redefines ERR to 13 - \r, breaking the Enter key. + * Since ncruses macros use the ERR macro, we can not use another name. + */ +#undef ERR #include <libproc.h> +#undef ERR +#define ERR (-1) #include "Settings.h" |