1a0e7889ab7423c9cb5ebd4a018d29a9480b6089
[openafs.git] / src / cf / sizet.m4
1 AC_DEFUN([OPENAFS_PRINTF_TAKES_Z_LEN],
2 [
3 AC_CACHE_CHECK([whether printf understands the %z length modifier],
4 [openafs_cv_printf_takes_z], [
5         AC_TRY_RUN([
6 #include <stdio.h>
7 #include <string.h>
8
9 int main(void) {
10         char buf[8];
11         memset(buf, 0, sizeof(buf));
12         snprintf(buf, 8, "%zu", sizeof(char));
13         if (buf[0] == '1' && buf[1] == '\0') {
14                 return 0;
15         } else {
16                 return 1;
17         }
18 }],
19                 [openafs_cv_printf_takes_z="yes"],
20                 [openafs_cv_printf_takes_z="no"],
21                 [openafs_cv_printf_takes_z="no"])
22 ])
23
24 if test "x$openafs_cv_printf_takes_z" = "xyes"; then
25         AC_DEFINE([PRINTF_TAKES_Z_LEN], 1, [define if printf and friends understand the %z length modifier])
26 fi
27 ])