|  | @@ -2,9 +2,11 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # autoconf tests required for use of xstrtoumax.c
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -AC_DEFUN(jm_AC_PREREQ_XSTRTOUMAX,
 | 
	
		
			
				|  |  | +AC_DEFUN([jm_AC_PREREQ_XSTRTOUMAX],
 | 
	
		
			
				|  |  |  [
 | 
	
		
			
				|  |  | +  AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
 | 
	
		
			
				|  |  |    AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
 | 
	
		
			
				|  |  | +  AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
 | 
	
		
			
				|  |  |    AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
 | 
	
		
			
				|  |  |    AC_CHECK_DECLS([strtoul, strtoull])
 | 
	
		
			
				|  |  |    AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
 | 
	
	
		
			
				|  | @@ -22,20 +24,17 @@ AC_DEFUN(jm_AC_PREREQ_XSTRTOUMAX,
 | 
	
		
			
				|  |  |      AC_REPLACE_FUNCS(strtoumax)
 | 
	
		
			
				|  |  |    fi
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  dnl We don't need (and can't compile) the replacement strtoull
 | 
	
		
			
				|  |  | -  dnl unless the type `unsigned long long' exists.
 | 
	
		
			
				|  |  | -  dnl Also, only the replacement strtoumax invokes strtoull,
 | 
	
		
			
				|  |  | -  dnl so we need the replacement strtoull only if strtoumax does not exist.
 | 
	
		
			
				|  |  | -  case "$ac_cv_type_unsigned_long_long,$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in
 | 
	
		
			
				|  |  | -    yes,no,no)
 | 
	
		
			
				|  |  | -      AC_REPLACE_FUNCS(strtoull strtol)
 | 
	
		
			
				|  |  | -      ;;
 | 
	
		
			
				|  |  | -  esac
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  dnl Only the replacement strtoumax invokes strtoul and strtoull,
 | 
	
		
			
				|  |  | +  dnl so we need the replacements only if strtoumax does not exist.
 | 
	
		
			
				|  |  |    case "$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in
 | 
	
		
			
				|  |  |      no,no)
 | 
	
		
			
				|  |  | -      AC_REPLACE_FUNCS(strtoul strtol)
 | 
	
		
			
				|  |  | +      AC_REPLACE_FUNCS(strtoul)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      dnl We don't need (and can't compile) the replacement strtoull
 | 
	
		
			
				|  |  | +      dnl unless the type `unsigned long long' exists.
 | 
	
		
			
				|  |  | +      if test "$ac_cv_type_unsigned_long_long" = yes; then
 | 
	
		
			
				|  |  | +	AC_REPLACE_FUNCS(strtoull)
 | 
	
		
			
				|  |  | +      fi
 | 
	
		
			
				|  |  |        ;;
 | 
	
		
			
				|  |  |    esac
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  ])
 |