Blame m4/snprintf.m4

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