Blame m4/vsnprintf.m4

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