claenups for previous commit
[oweals/busybox.git] / procps / fuser.c
index 8d63a73133156b6fe6f0725c6a2be1eaf73da8bd..418f57b579613fe629c17150e7a4d9d1606c4ef7 100644 (file)
@@ -6,12 +6,22 @@
  *
  * Licensed under GPLv2, see file LICENSE in this source tree.
  */
+//config:config FUSER
+//config:      bool "fuser (7 kb)"
+//config:      default y
+//config:      help
+//config:      fuser lists all PIDs (Process IDs) that currently have a given
+//config:      file open. fuser can also list all PIDs that have a given network
+//config:      (TCP or UDP) port open.
+
+//applet:IF_FUSER(APPLET(fuser, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_FUSER) += fuser.o
 
 //usage:#define fuser_trivial_usage
 //usage:       "[OPTIONS] FILE or PORT/PROTO"
 //usage:#define fuser_full_usage "\n\n"
 //usage:       "Find processes which use FILEs or PORTs\n"
-//usage:     "\nOptions:"
 //usage:     "\n       -m      Find processes which use same fs as FILEs"
 //usage:     "\n       -4,-6   Search only IPv4/IPv6 space"
 //usage:     "\n       -s      Don't display PIDs"
@@ -19,6 +29,7 @@
 //usage:     "\n       -SIGNAL Signal to send (default: KILL)"
 
 #include "libbb.h"
+#include "common_bufsiz.h"
 
 #define MAX_LINE 255
 
@@ -44,8 +55,9 @@ struct globals {
        smallint kill_failed;
        int killsig;
 } FIX_ALIASING;
-#define G (*(struct globals*)&bb_common_bufsiz1)
+#define G (*(struct globals*)bb_common_bufsiz1)
 #define INIT_G() do { \
+       setup_common_bufsiz(); \
        G.mypid = getpid(); \
        G.killsig = SIGKILL; \
 } while (0)
@@ -287,8 +299,7 @@ int fuser_main(int argc UNUSED_PARAM, char **argv)
                break;
        }
 
-       opt_complementary = "-1"; /* at least one param */
-       getopt32(argv, OPTION_STRING);
+       getopt32(argv, "^" OPTION_STRING "\0" "-1"/*at least one arg*/);
        argv += optind;
 
        pp = argv;