diff options
author | Rob Landley <rob@landley.net> | 2006-07-12 23:17:55 +0400 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-07-12 23:17:55 +0400 |
commit | c9c1a41c581101f53cc36efae53cd8ebb568962f (patch) | |
tree | 0aa4024f33e22567444f78d83d7d4b7986abe795 /procps/fuser.c | |
parent | 801ab140132a111e9524371c9b8d425579692389 (diff) |
A couple things that got tangled up in my tree, easier to check in both than
untangle them:
Rewrite u_signal_names() into get_signum() and get_signame(), plus trim the
signal list to that required by posix (they can specify the numbers for
the rest if they really need them). (This is preparatory cleanup for adding
a timeout applet like Roberto Foglietta wants.)
Export the itoa (added due to Denis Vlasenko, although it's not quite his
preferred implementation) from xfuncs.c so it's actually used, and remove
several other redundant implementations of itoa and utoa() in the tree.
Diffstat (limited to 'procps/fuser.c')
-rw-r--r-- | procps/fuser.c | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/procps/fuser.c b/procps/fuser.c index 1a4f612f1..2965fc34b 100644 --- a/procps/fuser.c +++ b/procps/fuser.c @@ -9,18 +9,6 @@ */ #include "busybox.h" -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <limits.h> -#include <dirent.h> -#include <signal.h> -#include <sys/types.h> -#include <sys/ioctl.h> -#include <sys/stat.h> -#include <sys/socket.h> -#include <sys/sysmacros.h> #define FUSER_PROC_DIR "/proc" #define FUSER_MAX_LINE 255 @@ -335,7 +323,7 @@ int fuser_main(int argc, char **argv) optn = fuser_option(argv[i]); if(optn) opt |= optn; else if(argv[i][0] == '-') { - if(!(u_signal_names(argv[i]+1, &killsig, 0))) + if(0>(killsig = get_signum(argv[i]+1))) killsig = SIGTERM; } else { @@ -345,7 +333,6 @@ int fuser_main(int argc, char **argv) } if(!fnic) return 1; - pids = xmalloc(sizeof(pid_list)); inodes = xmalloc(sizeof(inode_list)); for(i=0;i<fnic;i++) { if(fuser_parse_net_arg(argv[fni[i]], &proto, &port)) { @@ -354,14 +341,13 @@ int fuser_main(int argc, char **argv) else { if(!fuser_file_to_dev_inode( argv[fni[i]], &dev, &inode)) { - free(pids); - free(inodes); - bb_perror_msg_and_die( - "Could not open '%s'", argv[fni[i]]); + if (ENABLE_FEATURE_CLEAN_UP) free(inodes); + bb_perror_msg_and_die("Could not open '%s'", argv[fni[i]]); } fuser_add_inode(inodes, dev, inode); } } + pids = xmalloc(sizeof(pid_list)); success = fuser_scan_proc_pids(opt, inodes, pids); /* if the first pid in the list is 0, none have been found */ if(pids->pid == 0) success = 0; |