AC_DEFUN([OPENAFS_PRINTF_TAKES_Z_LEN], [ AC_CACHE_CHECK([whether printf understands the %z length modifier], [openafs_cv_printf_takes_z], [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include int main(void) { char buf[8]; memset(buf, 0, sizeof(buf)); snprintf(buf, 8, "%zu", sizeof(char)); if (buf[0] == '1' && buf[1] == '\0') { return 0; } else { return 1; } }]])],[openafs_cv_printf_takes_z="yes"],[openafs_cv_printf_takes_z="no"],[openafs_cv_printf_takes_z="no"]) ]) if test "x$openafs_cv_printf_takes_z" = "xyes"; then AC_DEFINE([PRINTF_TAKES_Z_LEN], 1, [define if printf and friends understand the %z length modifier]) fi ])