blob: 5a557ef35d64cda3c389effafb3f8d123bb59d61 (
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
41
42
43
44
|
Index: modutils/rmmod.c
===================================================================
RCS file: /var/cvs/busybox/modutils/rmmod.c,v
retrieving revision 1.31
diff -u -r1.31 rmmod.c
--- busybox/modutils/rmmod.c 20 Jul 2004 18:36:51 -0000 1.31
+++ busybox/modutils/rmmod.c 10 Dec 2004 22:56:36 -0000
@@ -28,6 +28,7 @@
#include <fcntl.h>
#include <string.h>
#include <sys/syscall.h>
+#include <sys/utsname.h>
#include "busybox.h"
#ifdef CONFIG_FEATURE_2_6_MODULES
@@ -63,6 +64,16 @@
void *buf; /* hold the module names which we ignore but must get */
size_t bufsize = 0;
#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. */
while ((n = getopt(argc, argv, "a")) != EOF) {
@@ -109,7 +120,10 @@
for (n = optind; n < argc; n++) {
#ifdef CONFIG_FEATURE_2_6_MODULES
char module_name[strlen(argv[n]) + 1];
- filename2modname(module_name, argv[n]);
+ if (k_version != 4)
+ filename2modname(module_name, argv[n]);
+ else
+ strcpy(module_name, argv[n]);
#else
#define module_name argv[n]
#endif
|