--- agent/mibgroup/ucd-snmp/disk.c 2007-04-02 16:55:17.000000000 +0200 +++ agent/mibgroup/ucd-snmp/disk.c.oden 2008-04-14 16:46:36.000000000 +0200 @@ -4,6 +4,12 @@ #include <net-snmp/net-snmp-config.h> +/* workaround for bug in autoconf 2.60b and 2.61 */ +#ifdef HAVE_GETMNTENT +#undef HAVE_GETMNTENT +#define HAVE_GETMNTENT 1 /* previously might be only "#define HAVE_GETMNTENT" */ +#endif + #include <stdio.h> #if HAVE_STDLIB_H @@ -642,7 +648,7 @@ double totalblks, free, used, avail, availblks; #else static long avail; -#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_FILES) +#if defined(HAVE_STRUCT_STATVFS_F_FILES) || defined(HAVE_STRUCT_STATFS_F_FILES) int percent_inode; #endif #endif @@ -724,7 +730,7 @@ (double) (vfs.f_blocks - (vfs.f_bfree - vfs.f_bavail)) * 100.0 + 0.5); multiplier = (float)vfs.f_bsize / (float)1024.0; -#ifdef STRUCT_STATVFS_HAS_F_FRSIZE +#ifdef HAVE_STRUCT_STATVFS_F_FRSIZE if (vfs.f_frsize > 255) multiplier = (float)vfs.f_frsize / (float)1024.0; #endif @@ -732,18 +738,18 @@ iserror = (disks[disknum].minimumspace >= 0 ? avail < disks[disknum].minimumspace : 100 - percent <= disks[disknum].minpercent) ? 1 : 0; -#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined STRUCT_STATFS_HAS_F_FAVAIL +#if defined(HAVE_STRUCT_STATVFS_F_FILES) || defined HAVE_STRUCT_STATFS_F_FAVAIL percent_inode = vfs.f_favail <= 0 ? 100 : (int) ((double) (vfs.f_files - vfs.f_ffree) / (double) (vfs.f_files - (vfs.f_ffree - vfs.f_favail)) * 100.0 + 0.5); #else -#if defined(STRUCT_STATFS_HAS_F_FILES) && defined(STRUCT_STATFS_HAS_F_FFREE) +#if defined(HAVE_STRUCT_STATFS_F_FILES) && defined(HAVE_STRUCT_STATFS_F_FFREE) percent_inode = vfs.f_files == 0 ? 100.0 : (int) ((double) (vfs.f_files - vfs.f_ffree) / (double) (vfs.f_files) * 100.0 + 0.5); #endif -#endif /* defined(STRUCT_STATVFS_HAS_F_FILES) */ +#endif /* defined(HAVE_STRUCT_STATVFS_F_FILES) */ switch (vp->magic) { case DISKTOTAL: long_ret = (long)(vfs.f_blocks * multiplier); @@ -756,7 +762,7 @@ case DISKPERCENT: long_ret = percent; return ((u_char *) (&long_ret)); -#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined (STRUCT_STATFS_HAS_F_FILES) +#if defined(HAVE_STRUCT_STATVFS_F_FILES) || defined (HAVE_STRUCT_STATFS_F_FILES) case DISKPERCENTNODE: long_ret = percent_inode; return ((u_char *) (&long_ret));