Blame m4/needtrio.m4

Packit 8f70b4
AC_DEFUN([LFTP_NEED_TRIO],[
Packit 8f70b4
   AC_CHECK_FUNCS(vsnprintf snprintf)
Packit 8f70b4
   AC_CACHE_CHECK([if trio library is needed], ac_cv_need_trio,
Packit 8f70b4
   [
Packit 8f70b4
      ac_cv_need_trio=no;
Packit 8f70b4
Packit 8f70b4
      if test x$ac_cv_func_vsnprintf != xyes -o x$ac_cv_func_snprintf != xyes; then
Packit 8f70b4
	 ac_cv_need_trio="yes (because there is no system snprintf/vsnprintf functions)"
Packit 8f70b4
      else
Packit 8f70b4
Packit 8f70b4
      AC_RUN_IFELSE([AC_LANG_SOURCE([[
Packit 8f70b4
	 int main()
Packit 8f70b4
	 {
Packit 8f70b4
	    unsigned long long x=0,x1;
Packit 8f70b4
	    long long y=0,y1;
Packit 8f70b4
	    char buf[128];
Packit 8f70b4
Packit 8f70b4
	    x=~x;
Packit 8f70b4
	    sscanf("0","%llu",&x);
Packit 8f70b4
	    if(x!=0) return 1;
Packit 8f70b4
Packit 8f70b4
	    y=~y;
Packit 8f70b4
	    sscanf("0","%lld",&y);
Packit 8f70b4
	    if(y!=0) return 1;
Packit 8f70b4
Packit 8f70b4
	    x=~x;
Packit 8f70b4
	    sprintf(buf,"%lld %llu",y,x);
Packit 8f70b4
	    sscanf (buf,"%lld %llu",&y1,&x1;;
Packit 8f70b4
	    if(x!=x1 || y!=y1)
Packit 8f70b4
	       return 1;
Packit 8f70b4
Packit 8f70b4
	    return 0;
Packit 8f70b4
	 }]])],[],[ac_cv_need_trio="yes (because %lld fails)"],[ac_cv_need_trio="no (assumed)"])
Packit 8f70b4
Packit 8f70b4
      fi
Packit 8f70b4
   ])
Packit 8f70b4
   case $ac_cv_need_trio in
Packit 8f70b4
   yes*)
Packit 8f70b4
      ac_cv_need_trio=yes
Packit 8f70b4
      AC_DEFINE(TRIO_REPLACE_STDIO, 1, [replace system's printf functions])
Packit 8f70b4
      LFTP_CHECK_LIBM
Packit 8f70b4
      ;;
Packit 8f70b4
   *)
Packit 8f70b4
      ac_cv_need_trio=no
Packit 8f70b4
      ;;
Packit 8f70b4
   esac
Packit 8f70b4
   AM_CONDITIONAL(NEED_TRIO, [test "$ac_cv_need_trio" = yes])
Packit 8f70b4
])