--- pfind/Makefile.orig	2008-06-01 22:40:55.000000000 -0700
+++ pfind/Makefile	2008-06-01 22:40:26.000000000 -0700
@@ -1,6 +1,6 @@
 PROG= pfind
 DPADD+= ../proctools/libproctools.a
-LDADD= -L${MAKEOBJDIR} -lproctools -lkvm
+LDADD= -L${MAKEOBJDIR} -lproctools
 CLEANFILES+= pfind.cat1
 
 .if defined(OLDKVM)

--- pgrep/Makefile.orig	2008-06-01 22:41:24.000000000 -0700
+++ pgrep/Makefile	2008-06-01 22:36:08.000000000 -0700
@@ -1,6 +1,6 @@
 PROG= pgrep
 DPADD+= ../proctools/libproctools.a
-LDADD= -L${MAKEOBJDIR} -lproctools -lkvm
+LDADD= -L${MAKEOBJDIR} -lproctools
 CLEANFILES+= pgrep.cat1
 
 .if defined(OLDKVM)

--- pkill/Makefile.orig	2008-06-01 22:41:43.000000000 -0700
+++ pkill/Makefile	2008-06-01 22:36:34.000000000 -0700
@@ -1,6 +1,6 @@
 PROG=   pkill
 DPADD+= ../proctools/libproctools.a
-LDADD= -L${MAKEOBJDIR} -lproctools -lkvm
+LDADD= -L${MAKEOBJDIR} -lproctools
 CLEANFILES+= pkill.cat1
 
 .if defined(OLDKVM)

--- proctools/fmt.orig.c	2003-12-06 02:13:20.000000000 -0800
+++ proctools/fmt.c	2008-06-01 22:35:32.000000000 -0700
@@ -7,7 +7,10 @@
 #include <sys/sysctl.h>
 #include <sys/user.h>
 
+#if defined(USE_KVM)
 #include <kvm.h>
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -27,6 +30,7 @@
 	return ((cp = strrchr(arg0, '/')) != NULL ? cp + 1 : arg0);
 }
 
+#if defined(USE_KVM)
 void
 fmt_argv(kd, ki)
 	kvm_t *kd;
@@ -51,6 +55,7 @@
 		fmt_putc(')', &left);
 	}
 }
+#endif
 
 void
 fmt_puts(s, leftp)

--- proctools/proctools.orig.h	2003-12-06 03:12:04.000000000 -0800
+++ proctools/proctools.h	2008-06-01 22:34:58.000000000 -0700
@@ -5,7 +5,12 @@
 
 #include <sys/cdefs.h>
 #include <stdio.h>
+
+#if defined(USE_KVM)
 #include <kvm.h>
+#else
+#define USE_SYSCTL
+#endif
 
 #if !defined(USE_KVM) && !defined(USE_SYSCTL)
 #	if defined(KVM_NO_FILES)

--- proctools/proctools.orig.c	2003-12-06 03:41:26.000000000 -0800
+++ proctools/proctools.c	2008-06-01 22:39:04.000000000 -0700
@@ -23,7 +23,10 @@
 
 extern char *cmdpart(char *);
 extern void  fmt_puts(char *, int *);
+
+#if defined(USE_KVM)
 extern void  fmt_argv(kvm_t *kd, struct kinfo_proc *ki);
+#endif
 
 static char  dbuf[DUMPBUFSZ];
 
@@ -919,7 +922,7 @@
 								matched = !strcmp(name, pattern);
 						}
 						else {
-							matched = regexec(&regex, name, 0, NULL, NULL) == 0;
+							matched = regexec(&regex, name, 0, NULL, 0) == 0;
 						}
 					}
 					else {
@@ -960,7 +963,7 @@
 						}
 					}
 					else
-						if (regexec(&regex, name, 0, NULL, NULL) == 0)
+						if (regexec(&regex, name, 0, NULL, 0) == 0)
 							pushProcList(proctoolslist, kp);
 				}
 				else
@@ -995,7 +998,7 @@
 								matched = !strcmp(name, pattern);
 						}
 						else {
-							matched = regexec(&regex, name, 0, NULL, NULL) == 0;
+							matched = regexec(&regex, name, 0, NULL, 0) == 0;
 						}
 					}
 					else {
@@ -1037,7 +1040,7 @@
 						}
 					}
 					else
-						if (regexec(&regex, name, 0, NULL, NULL) == REG_NOMATCH)
+						if (regexec(&regex, name, 0, NULL, 0) == REG_NOMATCH)
 							pushProcList(proctoolslist, kp);
 				}
 				else
 				
--- pfind/pfind.orig.c	2003-12-06 02:45:21.000000000 -0800
+++ pfind/pfind.c	2008-06-01 22:39:46.000000000 -0700
@@ -434,11 +434,11 @@
 PFIND_EVAL(pfind_pri_any)
 {
 	int result;
-	result = !regexec(&(*expression)->optarg.re.r, proctoolslist->name, 0, NULL, NULL);
+	result = !regexec(&(*expression)->optarg.re.r, proctoolslist->name, 0, NULL, 0);
 	if (!result) {
 		const char *args;
 		args = getProcArgs(baton, proctoolslist);
-		result = args && !regexec(&(*expression)->optarg.re.r, args, 0, NULL, NULL);
+		result = args && !regexec(&(*expression)->optarg.re.r, args, 0, NULL, 0);
 		/* do not free(args) */
 	}
 	(*expression)->parent->result = (*expression)->result = (*expression)->invert_after ^ result;
@@ -450,7 +450,7 @@
 	const char *args;
 	int result;
 	args = getProcArgs(baton, proctoolslist);
-	result = args && !regexec(&(*expression)->optarg.re.r, args, 0, NULL, NULL);
+	result = args && !regexec(&(*expression)->optarg.re.r, args, 0, NULL, 0);
 	(*expression)->parent->result = (*expression)->result = (*expression)->invert_after ^ result;
 	/* do not free(args) */
 	return 0;
@@ -490,7 +490,7 @@
 			(*expression)->parent->result = (*expression)->result = (*expression)->invert_after ^ !strcmp(proctoolslist->name, (*expression)->optarg.str);
 	}
 	else {
-		(*expression)->parent->result = (*expression)->result = (*expression)->invert_after ^ !regexec(&(*expression)->optarg.re.r, proctoolslist->name, 0, NULL, NULL);
+		(*expression)->parent->result = (*expression)->result = (*expression)->invert_after ^ !regexec(&(*expression)->optarg.re.r, proctoolslist->name, 0, NULL, 0);
 	}
 	return 0;
 }

