diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/lib.h | 2 | ||||
-rw-r--r-- | lib/pending.c | 9 |
2 files changed, 5 insertions, 6 deletions
@@ -158,7 +158,7 @@ void replace_tempfile(int fdin, int fdout, char **tempname); void crc_init(unsigned int *crc_table, int little_endian); void terminal_size(unsigned *x, unsigned *y); int yesno(char *prompt, int def); -void for_each_pid_with_name_in(char **names, int (*callback)(pid_t pid, char *name)); +void names_to_pid(char **names, int (*callback)(pid_t pid, char *name)); // net.c int xsocket(int domain, int type, int protocol); diff --git a/lib/pending.c b/lib/pending.c index eda45b40..d0cf3e26 100644 --- a/lib/pending.c +++ b/lib/pending.c @@ -6,7 +6,7 @@ #include "toys.h" // Execute a callback for each PID that matches a process name from a list. -void name_to_pid(char **names, int (*callback)(pid_t pid, char *name)) +void names_to_pid(char **names, int (*callback)(pid_t pid, char *name)) { DIR *dp; struct dirent *entry; @@ -14,7 +14,6 @@ void name_to_pid(char **names, int (*callback)(pid_t pid, char *name)) if (!(dp = opendir("/proc"))) perror_exit("opendir"); while ((entry = readdir(dp))) { - int fd, n; unsigned u; char *cmd, **curname; @@ -23,9 +22,9 @@ void name_to_pid(char **names, int (*callback)(pid_t pid, char *name)) if (!(cmd = readfile(libbuf, libbuf, sizeof(libbuf)))) continue; for (curname = names; *curname; curname++) - if (*curname == '/' ? !strcmp(cmd, *curname) - : !strcmp(basename(cmd), basename(*curname)) - if (!callback(u, *curname)) break; + if (**curname == '/' ? !strcmp(cmd, *curname) + : !strcmp(basename(cmd), basename(*curname))) + if (callback(u, *curname)) break; if (*curname) break; } closedir(dp); |