Blame m4/snprintf.m4

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