--- agfl-2.3/liblexicon/src/meminfo.c	Mon Feb 24 14:41:43 2003
+++ agfl-2.3-FreeBSD5/liblexicon/src/meminfo.c	Sat May 15 11:23:06 2004
@@ -108,7 +108,7 @@
 };
 
 #else
-#ifdef HAVE_LIBKVM
+#ifdef HAVE_LIBKVM 
 
 /* OS is *BSD */
 #include <limits.h>
@@ -150,10 +150,25 @@
     }
 
     /* pick vm and rss_size out of kernel structures */
+
+/* FreeBSD 5 changed the kinfo_proc structure */
+/* 2004-05-15 Mathias.Picker@virtual-earth.de */
+#if defined(__FreeBSD_version) && __FreeBSD_version < 500000
+
     vm = proc_info->kp_eproc.e_vm.vm_dsize +
          proc_info->kp_eproc.e_vm.vm_ssize +
          proc_info->kp_eproc.e_vm.vm_tsize;
     rss = proc_info->kp_eproc.e_vm.vm_rssize;
+
+#else /* FreeBSD > 500000 */
+
+    vm = proc_info->ki_dsize +
+         proc_info->ki_ssize +
+         proc_info->ki_tsize;
+    rss = proc_info->ki_rssize;
+
+#endif
+
     kvm_close (kd);
     *vm_size = vm * getpagesize() / 1024;
     *res_size = rss * getpagesize() / 1024;
