summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Villavicencio <the_paya@gentoo.org>2006-09-25 20:17:35 +0000
committerJavier Villavicencio <the_paya@gentoo.org>2006-09-25 20:17:35 +0000
commit046b0577376b52be4ee213d53947f64c42617dcc (patch)
treed8ed692c62872d307a4872de07e41c9f9febf4a3 /sys-process/pidof-bsd/files
parentfix deps (bug #149100) with patch from James Rowe (diff)
downloadhistorical-046b0577376b52be4ee213d53947f64c42617dcc.tar.gz
historical-046b0577376b52be4ee213d53947f64c42617dcc.tar.bz2
historical-046b0577376b52be4ee213d53947f64c42617dcc.zip
Added patch from Roy Marples, fixes for new baselayout.
Package-Manager: portage-2.1.2_pre1-r2
Diffstat (limited to 'sys-process/pidof-bsd/files')
-rw-r--r--sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r33
-rw-r--r--sys-process/pidof-bsd/files/pidof-bsd-20050501-pname.patch46
2 files changed, 49 insertions, 0 deletions
diff --git a/sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r3 b/sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r3
new file mode 100644
index 000000000000..a225f6856ac3
--- /dev/null
+++ b/sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r3
@@ -0,0 +1,3 @@
+MD5 58bcaf9a6e325ef6e5fd175175788e56 pidof-bsd-20050501.tar.gz 1769
+RMD160 1306e7f4b2d6231358d10b45705a16c925bb1d51 pidof-bsd-20050501.tar.gz 1769
+SHA256 c3ed8826178debe872f7717b8810d477d4611ab19af73bed97c5af1c552d20e6 pidof-bsd-20050501.tar.gz 1769
diff --git a/sys-process/pidof-bsd/files/pidof-bsd-20050501-pname.patch b/sys-process/pidof-bsd/files/pidof-bsd-20050501-pname.patch
new file mode 100644
index 000000000000..688a3cc659c4
--- /dev/null
+++ b/sys-process/pidof-bsd/files/pidof-bsd-20050501-pname.patch
@@ -0,0 +1,46 @@
+--- pidof.c 2006-09-21 15:14:03 +0100
++++ /tmp/pidof.c 2006-09-21 15:13:47 +0100
+@@ -53,14 +53,22 @@
+ struct kinfo_proc *p;
+ int i, n_processes,
+ processes_found = 0;
++ char *pname = NULL;
++
++ if (process_name == NULL)
++ return;
++
++ if ((pname = strdup(basename(process_name))) == NULL)
++ return;
+
+- if ((kd = kvm_open("/dev/null", "/dev/null", "/dev/null", O_RDONLY, "kvm_open")) == NULL)
+- (void)errx(1, "%s", kvm_geterr(kd));
+- else {
++ if ((kd = kvm_open("/dev/null", "/dev/null", "/dev/null", O_RDONLY, NULL)) == NULL) {
++ free(pname);
++ (void)errx(1, "%s", kvm_geterr(kd));
++ } else {
+ p = kvm_getprocs(kd, KERN_PROC_PROC, 0, &n_processes);
+ for (i = 0; i<n_processes; i++) {
+ if (p[i].ki_pid != own_pid)
+- if (strncmp(process_name, p[i].ki_comm, COMMLEN+1) == 0) {
++ if (strncmp(pname, p[i].ki_comm, COMMLEN+1) == 0) {
+ (void)printf("%d ", (int)p[i].ki_pid);
+ processes_found++;
+ } else if (match_argv == 1) {
+@@ -68,7 +76,7 @@
+
+ if ((p_argv = kvm_getargv(kd, p+i, 0)) != NULL)
+ if ( *p_argv != NULL )
+- if (strcmp(process_name, basename(*p_argv)) == 0) {
++ if (strcmp(pname, basename(*p_argv)) == 0) {
+ (void)printf("%d ", (int)p[i].ki_pid);
+ processes_found++;
+ break;
+@@ -77,6 +85,7 @@
+ }
+
+ kvm_close(kd);
++ free(pname);
+ }
+
+ return (processes_found);