blob: 20770e0dc4ee78e086ef573668ecbcc4afc7b5c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
Index: busybox-1.1.0/modutils/rmmod.c
===================================================================
--- busybox-1.1.0.orig/modutils/rmmod.c 2006-01-11 06:43:56.000000000 +0100
+++ busybox-1.1.0/modutils/rmmod.c 2006-03-14 16:42:14.000000000 +0100
@@ -29,6 +29,7 @@
#include <string.h>
#include <sys/utsname.h>
#include <sys/syscall.h>
+#include <sys/utsname.h>
#include "busybox.h"
#ifdef CONFIG_FEATURE_2_6_MODULES
@@ -64,6 +65,16 @@
but must get */
size_t bufsize = sizeof(bb_common_bufsiz1);
#endif
+#ifdef CONFIG_FEATURE_2_6_MODULES
+ int k_version = 0;
+ struct utsname myuname;
+
+ if (uname(&myuname) == 0) {
+ if (myuname.release[0] == '2') {
+ k_version = myuname.release[2] - '0';
+ }
+ }
+#endif
/* Parse command line. */
n = bb_getopt_ulflags(argc, argv, "wfa");
@@ -109,6 +120,10 @@
afterslash++;
module_name = alloca(strlen(afterslash) + 1);
filename2modname(module_name, afterslash);
+ if (k_version != 4)
+ filename2modname(module_name, afterslash);
+ else
+ strcpy(module_name, afterslash);
#else
#define module_name argv[n]
#endif
|