diff options
author | Javier Villavicencio <the_paya@gentoo.org> | 2006-09-25 20:17:35 +0000 |
---|---|---|
committer | Javier Villavicencio <the_paya@gentoo.org> | 2006-09-25 20:17:35 +0000 |
commit | 046b0577376b52be4ee213d53947f64c42617dcc (patch) | |
tree | d8ed692c62872d307a4872de07e41c9f9febf4a3 /sys-process/pidof-bsd/files | |
parent | fix deps (bug #149100) with patch from James Rowe (diff) | |
download | historical-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-r3 | 3 | ||||
-rw-r--r-- | sys-process/pidof-bsd/files/pidof-bsd-20050501-pname.patch | 46 |
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); |