#include "libbb.h"
#include <sys/syscall.h>
-#ifdef CONFIG_FEATURE_2_6_MODULES
+#if ENABLE_FEATURE_2_6_MODULES
static inline void filename2modname(char *modname, const char *afterslash)
{
unsigned int i;
int query_module(const char *name, int which, void *buf,
size_t bufsize, size_t *ret);
-int rmmod_main(int argc, char **argv);
+int rmmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int rmmod_main(int argc, char **argv)
{
int n, ret = EXIT_SUCCESS;
#define misc_buf bb_common_bufsiz1
/* Parse command line. */
- n = getopt32(argc, argv, "wfa");
+ n = getopt32(argv, "wfa");
if (n & 1) // --wait
flags &= ~O_NONBLOCK;
if (n & 2) // --force
for (n = optind; n < argc; n++) {
if (ENABLE_FEATURE_2_6_MODULES) {
- const char *afterslash;
-
- afterslash = strrchr(argv[n], '/');
- if (!afterslash) afterslash = argv[n];
- else afterslash++;
- filename2modname(misc_buf, afterslash);
+ filename2modname(misc_buf, bb_basename(argv[n]));
}
if (syscall(__NR_delete_module, ENABLE_FEATURE_2_6_MODULES ? misc_buf : argv[n], flags)) {
- bb_perror_msg("%s", argv[n]);
+ bb_simple_perror_msg(argv[n]);
ret = EXIT_FAILURE;
}
}