Update snprintf.c from OpenBSD. The floating point and wide character
code has been retained but is not compiled by default.
This commit is contained in:
12
config.h.in
12
config.h.in
@@ -1089,9 +1089,6 @@
|
|||||||
/* Define to 1 if you want sudo to set $HOME in shell mode. */
|
/* Define to 1 if you want sudo to set $HOME in shell mode. */
|
||||||
#undef SHELL_SETS_HOME
|
#undef SHELL_SETS_HOME
|
||||||
|
|
||||||
/* The size of `long int', as computed by sizeof. */
|
|
||||||
#undef SIZEOF_LONG_INT
|
|
||||||
|
|
||||||
/* Define to 1 to compile the sudoers plugin statically into the sudo binary.
|
/* Define to 1 to compile the sudoers plugin statically into the sudo binary.
|
||||||
*/
|
*/
|
||||||
#undef STATIC_SUDOERS_PLUGIN
|
#undef STATIC_SUDOERS_PLUGIN
|
||||||
@@ -1175,12 +1172,18 @@
|
|||||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
#undef ino_t
|
#undef ino_t
|
||||||
|
|
||||||
|
/* Define to `long long' if <sys/types.h> does not define. */
|
||||||
|
#undef intmax_t
|
||||||
|
|
||||||
/* Define to `int' if <sys/types.h> does not define. */
|
/* Define to `int' if <sys/types.h> does not define. */
|
||||||
#undef mode_t
|
#undef mode_t
|
||||||
|
|
||||||
/* Define to an OS-specific initialization function or `os_init_common'. */
|
/* Define to an OS-specific initialization function or `os_init_common'. */
|
||||||
#undef os_init
|
#undef os_init
|
||||||
|
|
||||||
|
/* Define to `long' if <sys/types.h> does not define. */
|
||||||
|
#undef ptrdiff_t
|
||||||
|
|
||||||
/* Define to `size_t' if <sys/types.h> does not define. */
|
/* Define to `size_t' if <sys/types.h> does not define. */
|
||||||
#undef rsize_t
|
#undef rsize_t
|
||||||
|
|
||||||
@@ -1208,6 +1211,9 @@
|
|||||||
/* Define to `unsigned char' if <sys/types.h> does not define. */
|
/* Define to `unsigned char' if <sys/types.h> does not define. */
|
||||||
#undef uint8_t
|
#undef uint8_t
|
||||||
|
|
||||||
|
/* Define to `unsigned long long' if <sys/types.h> does not define. */
|
||||||
|
#undef uintmax_t
|
||||||
|
|
||||||
/* Define to empty if the keyword `volatile' does not work. Warning: valid
|
/* Define to empty if the keyword `volatile' does not work. Warning: valid
|
||||||
code using `volatile' can become incorrect without. Disable with care. */
|
code using `volatile' can become incorrect without. Disable with care. */
|
||||||
#undef volatile
|
#undef volatile
|
||||||
|
249
configure
vendored
249
configure
vendored
@@ -2352,189 +2352,6 @@ $as_echo "$ac_res" >&6; }
|
|||||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||||
|
|
||||||
} # ac_fn_c_check_member
|
} # ac_fn_c_check_member
|
||||||
|
|
||||||
# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
|
|
||||||
# --------------------------------------------
|
|
||||||
# Tries to find the compile-time value of EXPR in a program that includes
|
|
||||||
# INCLUDES, setting VAR accordingly. Returns whether the value could be
|
|
||||||
# computed
|
|
||||||
ac_fn_c_compute_int ()
|
|
||||||
{
|
|
||||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
||||||
if test "$cross_compiling" = yes; then
|
|
||||||
# Depending upon the size, compute the lo and hi bounds.
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) >= 0)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_lo=0 ac_mid=0
|
|
||||||
while :; do
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_hi=$ac_mid; break
|
|
||||||
else
|
|
||||||
as_fn_arith $ac_mid + 1 && ac_lo=$as_val
|
|
||||||
if test $ac_lo -le $ac_mid; then
|
|
||||||
ac_lo= ac_hi=
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
done
|
|
||||||
else
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) < 0)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_hi=-1 ac_mid=-1
|
|
||||||
while :; do
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_lo=$ac_mid; break
|
|
||||||
else
|
|
||||||
as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
|
|
||||||
if test $ac_mid -le $ac_hi; then
|
|
||||||
ac_lo= ac_hi=
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
done
|
|
||||||
else
|
|
||||||
ac_lo= ac_hi=
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
# Binary search between lo and hi bounds.
|
|
||||||
while test "x$ac_lo" != "x$ac_hi"; do
|
|
||||||
as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_hi=$ac_mid
|
|
||||||
else
|
|
||||||
as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
done
|
|
||||||
case $ac_lo in #((
|
|
||||||
?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
|
|
||||||
'') ac_retval=1 ;;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
static long int longval () { return $2; }
|
|
||||||
static unsigned long int ulongval () { return $2; }
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
|
|
||||||
FILE *f = fopen ("conftest.val", "w");
|
|
||||||
if (! f)
|
|
||||||
return 1;
|
|
||||||
if (($2) < 0)
|
|
||||||
{
|
|
||||||
long int i = longval ();
|
|
||||||
if (i != ($2))
|
|
||||||
return 1;
|
|
||||||
fprintf (f, "%ld", i);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
unsigned long int i = ulongval ();
|
|
||||||
if (i != ($2))
|
|
||||||
return 1;
|
|
||||||
fprintf (f, "%lu", i);
|
|
||||||
}
|
|
||||||
/* Do not output a trailing newline, as this causes \r\n confusion
|
|
||||||
on some platforms. */
|
|
||||||
return ferror (f) || fclose (f) != 0;
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_run "$LINENO"; then :
|
|
||||||
echo >>conftest.val; read $3 <conftest.val; ac_retval=0
|
|
||||||
else
|
|
||||||
ac_retval=1
|
|
||||||
fi
|
|
||||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
|
||||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
|
||||||
rm -f conftest.val
|
|
||||||
|
|
||||||
fi
|
|
||||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
|
||||||
as_fn_set_status $ac_retval
|
|
||||||
|
|
||||||
} # ac_fn_c_compute_int
|
|
||||||
cat >config.log <<_ACEOF
|
cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
@@ -17756,39 +17573,6 @@ $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
|
|||||||
if test X"$ac_cv_type_long_long_int" != X"yes"; then
|
if test X"$ac_cv_type_long_long_int" != X"yes"; then
|
||||||
as_fn_error $? "\"C compiler does not appear to support the long long int type\"" "$LINENO" 5
|
as_fn_error $? "\"C compiler does not appear to support the long long int type\"" "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
# The cast to long int works around a bug in the HP C Compiler
|
|
||||||
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
|
|
||||||
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
|
|
||||||
# This bug is HP SR number 8606223364.
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5
|
|
||||||
$as_echo_n "checking size of long int... " >&6; }
|
|
||||||
if ${ac_cv_sizeof_long_int+:} false; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then :
|
|
||||||
|
|
||||||
else
|
|
||||||
if test "$ac_cv_type_long_int" = yes; then
|
|
||||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|
||||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
|
||||||
as_fn_error 77 "cannot compute sizeof (long int)
|
|
||||||
See \`config.log' for more details" "$LINENO" 5; }
|
|
||||||
else
|
|
||||||
ac_cv_sizeof_long_int=0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5
|
|
||||||
$as_echo "$ac_cv_sizeof_long_int" >&6; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
|
||||||
#define SIZEOF_LONG_INT $ac_cv_sizeof_long_int
|
|
||||||
_ACEOF
|
|
||||||
|
|
||||||
|
|
||||||
ac_fn_c_check_type "$LINENO" "id_t" "ac_cv_type_id_t" "$ac_includes_default"
|
ac_fn_c_check_type "$LINENO" "id_t" "ac_cv_type_id_t" "$ac_includes_default"
|
||||||
if test "x$ac_cv_type_id_t" = xyes; then :
|
if test "x$ac_cv_type_id_t" = xyes; then :
|
||||||
|
|
||||||
@@ -17844,6 +17628,39 @@ _ACEOF
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define ptrdiff_t long
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_type_intmax_t" = xyes; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define intmax_t long long
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_type_uintmax_t" = xyes; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define uintmax_t unsigned long long
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
|
ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
|
||||||
if test "x$ac_cv_type_uint8_t" = xyes; then :
|
if test "x$ac_cv_type_uint8_t" = xyes; then :
|
||||||
|
|
||||||
|
@@ -2284,12 +2284,14 @@ AC_TYPE_LONG_LONG_INT
|
|||||||
if test X"$ac_cv_type_long_long_int" != X"yes"; then
|
if test X"$ac_cv_type_long_long_int" != X"yes"; then
|
||||||
AC_MSG_ERROR(["C compiler does not appear to support the long long int type"])
|
AC_MSG_ERROR(["C compiler does not appear to support the long long int type"])
|
||||||
fi
|
fi
|
||||||
AC_CHECK_SIZEOF([long int])
|
|
||||||
AC_CHECK_TYPE(id_t, unsigned int)
|
AC_CHECK_TYPE(id_t, unsigned int)
|
||||||
AC_CHECK_TYPE(size_t, unsigned int)
|
AC_CHECK_TYPE(size_t, unsigned int)
|
||||||
AC_CHECK_TYPE(ssize_t, int)
|
AC_CHECK_TYPE(ssize_t, int)
|
||||||
AC_CHECK_TYPE(dev_t, int)
|
AC_CHECK_TYPE(dev_t, int)
|
||||||
AC_CHECK_TYPE(ino_t, unsigned int)
|
AC_CHECK_TYPE(ino_t, unsigned int)
|
||||||
|
AC_CHECK_TYPE(ptrdiff_t, long)
|
||||||
|
AC_CHECK_TYPE(intmax_t, long long)
|
||||||
|
AC_CHECK_TYPE(uintmax_t, unsigned long long)
|
||||||
AC_CHECK_TYPE(uint8_t, unsigned char)
|
AC_CHECK_TYPE(uint8_t, unsigned char)
|
||||||
AC_CHECK_TYPE(uint32_t, unsigned int)
|
AC_CHECK_TYPE(uint32_t, unsigned int)
|
||||||
AC_CHECK_TYPE(uint64_t, unsigned long long)
|
AC_CHECK_TYPE(uint64_t, unsigned long long)
|
||||||
|
1393
lib/util/snprintf.c
1393
lib/util/snprintf.c
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user