Blame m4/vsnprintf.m4

Packit 8f70b4
# vsnprintf.m4 serial 7
Packit 8f70b4
dnl Copyright (C) 2002-2004, 2007-2018 Free Software Foundation, Inc.
Packit 8f70b4
dnl This file is free software; the Free Software Foundation
Packit 8f70b4
dnl gives unlimited permission to copy and/or distribute it,
Packit 8f70b4
dnl with or without modifications, as long as this notice is preserved.
Packit 8f70b4
Packit 8f70b4
dnl Libintl 0.17 will replace vsnprintf only if it does not support %1$s,
Packit 8f70b4
dnl but defers to any gnulib vsnprintf replacements.  Therefore, gnulib
Packit 8f70b4
dnl must guarantee that the decision for replacing vsnprintf is a superset
Packit 8f70b4
dnl of the reasons checked by libintl.
Packit 8f70b4
AC_DEFUN([gl_FUNC_VSNPRINTF],
Packit 8f70b4
[
Packit 8f70b4
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
Packit 8f70b4
  gl_cv_func_vsnprintf_usable=no
Packit 8f70b4
  AC_CHECK_FUNCS([vsnprintf])
Packit 8f70b4
  if test $ac_cv_func_vsnprintf = yes; then
Packit 8f70b4
    gl_SNPRINTF_SIZE1
Packit 8f70b4
    case "$gl_cv_func_snprintf_size1" in
Packit 8f70b4
      *yes)
Packit 8f70b4
        gl_SNPRINTF_RETVAL_C99
Packit 8f70b4
        case "$gl_cv_func_snprintf_retval_c99" in
Packit 8f70b4
          *yes)
Packit 8f70b4
            gl_PRINTF_POSITIONS
Packit 8f70b4
            case "$gl_cv_func_printf_positions" in
Packit 8f70b4
              *yes)
Packit 8f70b4
                gl_cv_func_vsnprintf_usable=yes
Packit 8f70b4
                ;;
Packit 8f70b4
            esac
Packit 8f70b4
            ;;
Packit 8f70b4
        esac
Packit 8f70b4
        ;;
Packit 8f70b4
    esac
Packit 8f70b4
  fi
Packit 8f70b4
  if test $gl_cv_func_vsnprintf_usable = no; then
Packit 8f70b4
    gl_REPLACE_VSNPRINTF
Packit 8f70b4
  fi
Packit 8f70b4
  AC_CHECK_DECLS_ONCE([vsnprintf])
Packit 8f70b4
  if test $ac_cv_have_decl_vsnprintf = no; then
Packit 8f70b4
    HAVE_DECL_VSNPRINTF=0
Packit 8f70b4
  fi
Packit 8f70b4
])
Packit 8f70b4
Packit 8f70b4
AC_DEFUN([gl_REPLACE_VSNPRINTF],
Packit 8f70b4
[
Packit 8f70b4
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
Packit 8f70b4
  AC_LIBOBJ([vsnprintf])
Packit 8f70b4
  if test $ac_cv_func_vsnprintf = yes; then
Packit 8f70b4
    REPLACE_VSNPRINTF=1
Packit 8f70b4
  else
Packit 8f70b4
    AC_CHECK_DECLS_ONCE([vsnprintf])
Packit 8f70b4
    if test $ac_cv_have_decl_vsnprintf = yes; then
Packit 8f70b4
      dnl If the function is declared but does not appear to exist, it may be
Packit 8f70b4
      dnl defined as an inline function. In order to avoid a conflict, we have
Packit 8f70b4
      dnl to define rpl_vsnprintf, not vsnprintf.
Packit 8f70b4
      REPLACE_VSNPRINTF=1
Packit 8f70b4
    fi
Packit 8f70b4
  fi
Packit 8f70b4
  gl_PREREQ_VSNPRINTF
Packit 8f70b4
])
Packit 8f70b4
Packit 8f70b4
# Prerequisites of lib/vsnprintf.c.
Packit 8f70b4
AC_DEFUN([gl_PREREQ_VSNPRINTF], [:])