aboutsummaryrefslogtreecommitdiff
path: root/toys/lsb
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2019-07-11 14:00:07 -0700
committerRob Landley <rob@landley.net>2019-07-12 13:18:11 -0500
commita7b8b772dee4f159028e3b998454d7466fbbc88f (patch)
treef8cdf969a4a42ff39bad63e5d3a7aaf4844cb541 /toys/lsb
parent5194d4ad66ad130cb730e0b192ba1e2b5181184d (diff)
downloadtoybox-a7b8b772dee4f159028e3b998454d7466fbbc88f.tar.gz
pidof: fix default behavior, add -x.
Before this patch, we're effectively doing `pidof -x` all the time. This patch changes names_to_pid() to allow us to say whether or not we want to include scripts, and adjusts the callers appropriately. Also add tests for `pidof` versus `pidof -x` which pass after this patch, without regressing the existing killall tests.
Diffstat (limited to 'toys/lsb')
-rw-r--r--toys/lsb/killall.c2
-rw-r--r--toys/lsb/pidof.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/toys/lsb/killall.c b/toys/lsb/killall.c
index 47aea23d..c81360b1 100644
--- a/toys/lsb/killall.c
+++ b/toys/lsb/killall.c
@@ -89,7 +89,7 @@ void killall_main(void)
TT.err = xmalloc(2*toys.optc);
for (i=0; i<toys.optc; i++) TT.err[i] = ESRCH;
- names_to_pid(TT.names, kill_process);
+ names_to_pid(TT.names, kill_process, 1);
for (i=0; i<toys.optc; i++) {
if (TT.err[i]) {
toys.exitval = 1;
diff --git a/toys/lsb/pidof.c b/toys/lsb/pidof.c
index 4f266b84..cd705a7c 100644
--- a/toys/lsb/pidof.c
+++ b/toys/lsb/pidof.c
@@ -5,7 +5,7 @@
*
* http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/pidof.html
-USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_BIN))
+USE_PIDOF(NEWTOY(pidof, "<1so:x", TOYFLAG_BIN))
config PIDOF
bool "pidof"
@@ -17,6 +17,7 @@ config PIDOF
-s Single shot, only return one pid
-o Omit PID(s)
+ -x Match shell scripts too
*/
#define FOR_pidof
@@ -39,6 +40,6 @@ static int print_pid(pid_t pid, char *name)
void pidof_main(void)
{
toys.exitval = 1;
- names_to_pid(toys.optargs, print_pid);
+ names_to_pid(toys.optargs, print_pid, FLAG(x));
if (!toys.exitval) xputc('\n');
}