From 2621f9034aba19d4b9622ba5380cfcf2c8ecf2b3 Mon Sep 17 00:00:00 2001 From: TAMUKI Shoichi <tamuki@linet.gr.jp> Date: Mon, 9 Jun 2014 09:02:17 +0900 Subject: [PATCH] Fix ssize_t type test and conditional compilation Fix ssize_t type test because older versions of autoconf do not support AC_TYPE_SSIZE_T macro. Also, fix conditional compilation for older versions of MinGW. Signed-off-by: TAMUKI Shoichi <tamuki@linet.gr.jp> --- configure.in | 17 ++++++++++++++++- timidity/timidity.c | 4 ++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 6ff5cc4e..1ef0bd5d 100644 --- a/configure.in +++ b/configure.in @@ -521,7 +521,22 @@ if test "x$POCC" != xyes ; then AC_TYPE_OFF_T AC_TYPE_PID_T fi -AC_TYPE_SSIZE_T + +# Older versions of MinGW do not define ssize_t in sys/types +AC_MSG_CHECKING([for ssize_t]) +AC_CACHE_VAL(ac_cv_type_$1, +[AC_EGREP_CPP([ssize_t@<:@^a-zA-Z_0-9@:>@], +[#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif], [ac_cv_type_ssize_t=yes], [ac_cv_type_ssize_t=no])]) + +AC_MSG_RESULT([$ac_cv_type_ssize_t]) +if test $ac_cv_type_ssize_t = yes; then + AC_DEFINE(HAVE_SSIZE_T, 1, + [Define to 1 if the system has the type `ssize_t'.]) +fi dnl keyword "volatile" check AC_CACHE_CHECK(volatile declaration,timidity_cv_type_volatile, diff --git a/timidity/timidity.c b/timidity/timidity.c index 66bd151f..f4cc65b9 100644 --- a/timidity/timidity.c +++ b/timidity/timidity.c @@ -5122,7 +5122,11 @@ static void interesting_message(void) static RETSIGTYPE sigterm_exit(int sig) { char s[4]; +#if defined(__MINGW32__) && !defined(HAVE_SSIZE_T) + int dummy; +#else ssize_t dummy; +#endif /* NOTE: Here, fprintf is dangerous because it is not re-enterance * function. It is possible coredump if the signal is called in printf's. -- GitLab