aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-06-26 10:45:52 +0000
committerEric Andersen <andersen@codepoet.org>2000-06-26 10:45:52 +0000
commit10dc9d4d17e6880bfdfd253716ce72ec1243227f (patch)
treef3c2aa6ab3dadf1b4bf710c7957e72faddebd75f
parent8a24a6783af7a0d54b1f2ebcda5b07757bd19c99 (diff)
downloadbusybox-w32-10dc9d4d17e6880bfdfd253716ce72ec1243227f.tar.gz
busybox-w32-10dc9d4d17e6880bfdfd253716ce72ec1243227f.tar.bz2
busybox-w32-10dc9d4d17e6880bfdfd253716ce72ec1243227f.zip
Updates to handle Linux 2.4.0 kernels (kludged around the "none" entries in
/proc/mounts, added a hack to make sysinfo work with both old and new kernels). -Erik
-rw-r--r--Changelog10
-rw-r--r--TODO23
-rw-r--r--coreutils/df.c3
-rw-r--r--df.c3
-rw-r--r--free.c36
-rw-r--r--init.c20
-rw-r--r--init/init.c20
-rw-r--r--internal.h21
-rw-r--r--mount.c8
-rw-r--r--procps/free.c36
-rw-r--r--procps/uptime.c3
-rw-r--r--uptime.c3
-rw-r--r--util-linux/mount.c8
-rw-r--r--utility.c12
14 files changed, 159 insertions, 47 deletions
diff --git a/Changelog b/Changelog
index 4417652bd..aa8b15db7 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,13 @@
10.46
2
3 * Updates to handle Linux 2.4.0 kernels (kludged around the
4 "none" entries in /proc/mounts, added a hack to make sysinfo
5 work with both old and new kernels).
6 * Fixed a nasty bug in tar when could mess up saved symlinks.
7
8 -Erik Andersen
9
10
10.45 110.45
2 * Now compiles vs libc5 (which can save lots of space for 12 * Now compiles vs libc5 (which can save lots of space for
3 embedded systems). 13 embedded systems).
diff --git a/TODO b/TODO
index 1b456a664..a4bfa0c00 100644
--- a/TODO
+++ b/TODO
@@ -39,31 +39,14 @@ list discussion):
39 39
40Linux 2.4.x kernels 40Linux 2.4.x kernels
41 41
42BusyBox 0.45 currently will not work with the Linux 2.4.x kernels. 42BusyBox 0.46 currently will not work with the Linux 2.4.x kernels.
43I know of the following problems: 43I know of the following problems:
44 44
451) The sysinfo syscall has changed what it does (binary incompatable), breaking 451) BusyBox NFS support is broken with 2.4.x (needs to be adjusted for NFSv3 and
46 init and free.
472) BusyBox NFS support is broken with 2.4.x (needs to be adjusted for NFSv3 and
48 kernel header changes). 46 kernel header changes).
493) mount,umount,and df are all broken by the "none" entries for fake filesystems
50 such as the shared mem one. Al Viro claims these will be disappearing soon...
51
52I made a kernel patch that reverts the sysinfo changes
53 http://kernelnotes.org/lnxlists/linux-kernel/lk_0006_01/msg00619.html
54
55and I have been fighting with Alan Cox to get these changes fixed in a binary
56compatable way, but Alan has so far not been very receptive. I am planning on
57appealing to Linus (when he gets back from vacation) and then going with
58whatever he decides...
59
60So my thought is, 2.4.x just isn't ready for BusyBox to target it, and even if
61it was, BusyBox isn't ready yet either. Seems to me like this will not be
62ready for a while, and we should just not worry about it yet.
63 47
64As long as I have BB_FEATURE_NFSMOUNT turned off, everything compiles cleanly 48As long as I have BB_FEATURE_NFSMOUNT turned off, everything compiles cleanly
65for me with linux2.4.0test1-ac22-riel (i.e. I don't see the freeramdisk.c 49for me with linux2.4.0test2. I use Debian potato (gcc 2.95.2, GNU libc 2.1.3).
66problem you reported). I use Debian potato (gcc 2.95.2, GNU libc 2.1.3).
67Of course, as noted above, compiling != working. 50Of course, as noted above, compiling != working.
68 51
69----------- 52-----------
diff --git a/coreutils/df.c b/coreutils/df.c
index ba3227f30..8d457ec37 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -103,6 +103,9 @@ extern int df_main(int argc, char **argv)
103 } 103 }
104 104
105 while ((mountEntry = getmntent(mountTable))) { 105 while ((mountEntry = getmntent(mountTable))) {
106 if (strcmp(mountEntry->mnt_fsname, "none") == 0) {
107 continue;
108 }
106 df(mountEntry->mnt_fsname, mountEntry->mnt_dir); 109 df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
107 } 110 }
108 endmntent(mountTable); 111 endmntent(mountTable);
diff --git a/df.c b/df.c
index ba3227f30..8d457ec37 100644
--- a/df.c
+++ b/df.c
@@ -103,6 +103,9 @@ extern int df_main(int argc, char **argv)
103 } 103 }
104 104
105 while ((mountEntry = getmntent(mountTable))) { 105 while ((mountEntry = getmntent(mountTable))) {
106 if (strcmp(mountEntry->mnt_fsname, "none") == 0) {
107 continue;
108 }
106 df(mountEntry->mnt_fsname, mountEntry->mnt_dir); 109 df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
107 } 110 }
108 endmntent(mountTable); 111 endmntent(mountTable);
diff --git a/free.c b/free.c
index a81189be9..997430b39 100644
--- a/free.c
+++ b/free.c
@@ -23,20 +23,36 @@
23 23
24#include "internal.h" 24#include "internal.h"
25#include <stdio.h> 25#include <stdio.h>
26#include <sys/sysinfo.h> 26#include <errno.h>
27
27 28
28#define DIVISOR 1024
29extern int free_main(int argc, char **argv) 29extern int free_main(int argc, char **argv)
30{ 30{
31 struct sysinfo info; 31 struct sysinfo info;
32 sysinfo(&info); 32 sysinfo(&info);
33 info.totalram/=DIVISOR; 33 /* Kernels prior to 2.4.x will return info.mem_unit==0. Kernels after
34 info.freeram/=DIVISOR; 34 * 2.4.x actually fill this value in */
35 info.totalswap/=DIVISOR; 35 if (info.mem_unit==0) {
36 info.freeswap/=DIVISOR; 36 /* Looks like we have a kernel prior to Linux 2.4.x */
37 info.sharedram/=DIVISOR; 37 info.mem_unit=1024;
38 info.bufferram/=DIVISOR; 38 info.totalram/=info.mem_unit;
39 39 info.freeram/=info.mem_unit;
40 info.totalswap/=info.mem_unit;
41 info.freeswap/=info.mem_unit;
42 info.sharedram/=info.mem_unit;
43 info.bufferram/=info.mem_unit;
44 } else {
45 /* Bah. Linux 2.4.x completely changed sysinfo. This can in theory
46 overflow a 32 bit unsigned long, but who puts more then 4GiB ram+swap
47 on an embedded system? */
48 info.mem_unit/=1024;
49 info.totalram*=info.mem_unit;
50 info.freeram*=info.mem_unit;
51 info.totalswap*=info.mem_unit;
52 info.freeswap*=info.mem_unit;
53 info.sharedram*=info.mem_unit;
54 info.bufferram*=info.mem_unit;
55 }
40 if (argc > 1 && **(argv + 1) == '-') { 56 if (argc > 1 && **(argv + 1) == '-') {
41 usage("free\n" 57 usage("free\n"
42#ifndef BB_FEATURE_TRIVIAL_HELP 58#ifndef BB_FEATURE_TRIVIAL_HELP
@@ -61,3 +77,5 @@ extern int free_main(int argc, char **argv)
61 info.freeram+info.freeswap); 77 info.freeram+info.freeswap);
62 return(TRUE); 78 return(TRUE);
63} 79}
80
81
diff --git a/init.c b/init.c
index 98a58f275..9289b86a6 100644
--- a/init.c
+++ b/init.c
@@ -42,7 +42,6 @@
42#include <linux/version.h> 42#include <linux/version.h>
43#include <linux/reboot.h> 43#include <linux/reboot.h>
44#include <linux/unistd.h> 44#include <linux/unistd.h>
45#include <sys/sysinfo.h> /* For check_free_memory() */
46#include <sys/fcntl.h> 45#include <sys/fcntl.h>
47#include <sys/ioctl.h> 46#include <sys/ioctl.h>
48#include <sys/mount.h> 47#include <sys/mount.h>
@@ -270,13 +269,28 @@ static int check_free_memory()
270{ 269{
271 struct sysinfo info; 270 struct sysinfo info;
272 271
272 /* Pre initialize mem_unit in case this kernel is something prior to
273 * the linux 2.4 kernel (which will actually fill in mem_unit... */
273 sysinfo(&info); 274 sysinfo(&info);
274 if (sysinfo(&info) != 0) { 275 if (sysinfo(&info) != 0) {
275 message(LOG, "Error checking free memory: %s\n", strerror(errno)); 276 printf("Error checking free memory: %s\n", strerror(errno));
276 return -1; 277 return -1;
277 } 278 }
279 if (info.mem_unit==0) {
280 /* Looks like we have a kernel prior to Linux 2.4.x */
281 info.mem_unit=1024;
282 info.totalram/=info.mem_unit;
283 info.totalswap/=info.mem_unit;
284 } else {
285 /* Bah. Linux 2.4.x completely changed sysinfo. This can in theory
286 overflow a 32 bit unsigned long, but who puts more then 4GiB ram+swap
287 on an embedded system? */
288 info.mem_unit/=1024;
289 info.totalram*=info.mem_unit;
290 info.totalswap*=info.mem_unit;
291 }
278 292
279 return((info.totalram+info.totalswap)/1024); 293 return(info.totalram+info.totalswap);
280} 294}
281 295
282static void console_init() 296static void console_init()
diff --git a/init/init.c b/init/init.c
index 98a58f275..9289b86a6 100644
--- a/init/init.c
+++ b/init/init.c
@@ -42,7 +42,6 @@
42#include <linux/version.h> 42#include <linux/version.h>
43#include <linux/reboot.h> 43#include <linux/reboot.h>
44#include <linux/unistd.h> 44#include <linux/unistd.h>
45#include <sys/sysinfo.h> /* For check_free_memory() */
46#include <sys/fcntl.h> 45#include <sys/fcntl.h>
47#include <sys/ioctl.h> 46#include <sys/ioctl.h>
48#include <sys/mount.h> 47#include <sys/mount.h>
@@ -270,13 +269,28 @@ static int check_free_memory()
270{ 269{
271 struct sysinfo info; 270 struct sysinfo info;
272 271
272 /* Pre initialize mem_unit in case this kernel is something prior to
273 * the linux 2.4 kernel (which will actually fill in mem_unit... */
273 sysinfo(&info); 274 sysinfo(&info);
274 if (sysinfo(&info) != 0) { 275 if (sysinfo(&info) != 0) {
275 message(LOG, "Error checking free memory: %s\n", strerror(errno)); 276 printf("Error checking free memory: %s\n", strerror(errno));
276 return -1; 277 return -1;
277 } 278 }
279 if (info.mem_unit==0) {
280 /* Looks like we have a kernel prior to Linux 2.4.x */
281 info.mem_unit=1024;
282 info.totalram/=info.mem_unit;
283 info.totalswap/=info.mem_unit;
284 } else {
285 /* Bah. Linux 2.4.x completely changed sysinfo. This can in theory
286 overflow a 32 bit unsigned long, but who puts more then 4GiB ram+swap
287 on an embedded system? */
288 info.mem_unit/=1024;
289 info.totalram*=info.mem_unit;
290 info.totalswap*=info.mem_unit;
291 }
278 292
279 return((info.totalram+info.totalswap)/1024); 293 return(info.totalram+info.totalswap);
280} 294}
281 295
282static void console_init() 296static void console_init()
diff --git a/internal.h b/internal.h
index 127460fc6..c39dfde62 100644
--- a/internal.h
+++ b/internal.h
@@ -30,6 +30,7 @@
30#include <stdarg.h> 30#include <stdarg.h>
31#include <string.h> 31#include <string.h>
32#include <unistd.h> 32#include <unistd.h>
33#include <errno.h>
33#include <sys/stat.h> 34#include <sys/stat.h>
34#include <sys/param.h> 35#include <sys/param.h>
35#include <mntent.h> 36#include <mntent.h>
@@ -296,9 +297,27 @@ int nfsmount(const char *spec, const char *node, unsigned long *flags,
296#define RB_POWER_OFF 0x4321fedc 297#define RB_POWER_OFF 0x4321fedc
297#endif 298#endif
298 299
300/* Include our own copy of struct sysinfo to avoid binary compatability
301 * problems with Linux 2.4, which changed things. Grumble, grumble. */
302struct sysinfo {
303 long uptime; /* Seconds since boot */
304 unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
305 unsigned long totalram; /* Total usable main memory size */
306 unsigned long freeram; /* Available memory size */
307 unsigned long sharedram; /* Amount of shared memory */
308 unsigned long bufferram; /* Memory used by buffers */
309 unsigned long totalswap; /* Total swap space size */
310 unsigned long freeswap; /* swap space still available */
311 unsigned short procs; /* Number of current processes */
312 unsigned long totalhigh; /* Total high memory size */
313 unsigned long freehigh; /* Available high memory size */
314 unsigned int mem_unit; /* Memory unit size in bytes */
315 char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */
316};
317extern int sysinfo (struct sysinfo* info);
299 318
300#ifndef setbit
301/* Bit map related macros -- libc5 doens't provide these... sigh. */ 319/* Bit map related macros -- libc5 doens't provide these... sigh. */
320#ifndef setbit
302#define NBBY CHAR_BIT 321#define NBBY CHAR_BIT
303#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY)) 322#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
304#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY))) 323#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
diff --git a/mount.c b/mount.c
index 76f048b1c..292be0c43 100644
--- a/mount.c
+++ b/mount.c
@@ -358,6 +358,10 @@ extern int mount_main(int argc, char **argv)
358 fatalError( "\nDEVMTAB_GET_MOUNTS: %s\n", strerror (errno)); 358 fatalError( "\nDEVMTAB_GET_MOUNTS: %s\n", strerror (errno));
359 359
360 for( i = 0 ; i < numfilesystems ; i++) { 360 for( i = 0 ; i < numfilesystems ; i++) {
361 /* klude around Linux 2.4.x stupidity */
362 if (strcmp(mntentlist[i].mnt_fsname, "none") == 0) {
363 continue;
364 }
361 fprintf( stdout, "%s %s %s %s %d %d\n", mntentlist[i].mnt_fsname, 365 fprintf( stdout, "%s %s %s %s %d %d\n", mntentlist[i].mnt_fsname,
362 mntentlist[i].mnt_dir, mntentlist[i].mnt_type, 366 mntentlist[i].mnt_dir, mntentlist[i].mnt_type,
363 mntentlist[i].mnt_opts, mntentlist[i].mnt_freq, 367 mntentlist[i].mnt_opts, mntentlist[i].mnt_freq,
@@ -380,6 +384,10 @@ extern int mount_main(int argc, char **argv)
380 384
381 while ((m = getmntent(mountTable)) != 0) { 385 while ((m = getmntent(mountTable)) != 0) {
382 char *blockDevice = m->mnt_fsname; 386 char *blockDevice = m->mnt_fsname;
387 /* klude around Linux 2.4.x stupidity */
388 if (strcmp(blockDevice, "none") == 0) {
389 continue;
390 }
383 if (strcmp(blockDevice, "/dev/root") == 0) { 391 if (strcmp(blockDevice, "/dev/root") == 0) {
384 find_real_root_device_name( blockDevice); 392 find_real_root_device_name( blockDevice);
385 } 393 }
diff --git a/procps/free.c b/procps/free.c
index a81189be9..997430b39 100644
--- a/procps/free.c
+++ b/procps/free.c
@@ -23,20 +23,36 @@
23 23
24#include "internal.h" 24#include "internal.h"
25#include <stdio.h> 25#include <stdio.h>
26#include <sys/sysinfo.h> 26#include <errno.h>
27
27 28
28#define DIVISOR 1024
29extern int free_main(int argc, char **argv) 29extern int free_main(int argc, char **argv)
30{ 30{
31 struct sysinfo info; 31 struct sysinfo info;
32 sysinfo(&info); 32 sysinfo(&info);
33 info.totalram/=DIVISOR; 33 /* Kernels prior to 2.4.x will return info.mem_unit==0. Kernels after
34 info.freeram/=DIVISOR; 34 * 2.4.x actually fill this value in */
35 info.totalswap/=DIVISOR; 35 if (info.mem_unit==0) {
36 info.freeswap/=DIVISOR; 36 /* Looks like we have a kernel prior to Linux 2.4.x */
37 info.sharedram/=DIVISOR; 37 info.mem_unit=1024;
38 info.bufferram/=DIVISOR; 38 info.totalram/=info.mem_unit;
39 39 info.freeram/=info.mem_unit;
40 info.totalswap/=info.mem_unit;
41 info.freeswap/=info.mem_unit;
42 info.sharedram/=info.mem_unit;
43 info.bufferram/=info.mem_unit;
44 } else {
45 /* Bah. Linux 2.4.x completely changed sysinfo. This can in theory
46 overflow a 32 bit unsigned long, but who puts more then 4GiB ram+swap
47 on an embedded system? */
48 info.mem_unit/=1024;
49 info.totalram*=info.mem_unit;
50 info.freeram*=info.mem_unit;
51 info.totalswap*=info.mem_unit;
52 info.freeswap*=info.mem_unit;
53 info.sharedram*=info.mem_unit;
54 info.bufferram*=info.mem_unit;
55 }
40 if (argc > 1 && **(argv + 1) == '-') { 56 if (argc > 1 && **(argv + 1) == '-') {
41 usage("free\n" 57 usage("free\n"
42#ifndef BB_FEATURE_TRIVIAL_HELP 58#ifndef BB_FEATURE_TRIVIAL_HELP
@@ -61,3 +77,5 @@ extern int free_main(int argc, char **argv)
61 info.freeram+info.freeswap); 77 info.freeram+info.freeswap);
62 return(TRUE); 78 return(TRUE);
63} 79}
80
81
diff --git a/procps/uptime.c b/procps/uptime.c
index 67ca34d75..efdbccf00 100644
--- a/procps/uptime.c
+++ b/procps/uptime.c
@@ -31,13 +31,14 @@
31#include "internal.h" 31#include "internal.h"
32#include <stdio.h> 32#include <stdio.h>
33#include <time.h> 33#include <time.h>
34#include <sys/sysinfo.h> 34#include <errno.h>
35 35
36#define FSHIFT 16 /* nr of bits of precision */ 36#define FSHIFT 16 /* nr of bits of precision */
37#define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */ 37#define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */
38#define LOAD_INT(x) ((x) >> FSHIFT) 38#define LOAD_INT(x) ((x) >> FSHIFT)
39#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100) 39#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
40 40
41
41extern int uptime_main(int argc, char **argv) 42extern int uptime_main(int argc, char **argv)
42{ 43{
43 int updays, uphours, upminutes; 44 int updays, uphours, upminutes;
diff --git a/uptime.c b/uptime.c
index 67ca34d75..efdbccf00 100644
--- a/uptime.c
+++ b/uptime.c
@@ -31,13 +31,14 @@
31#include "internal.h" 31#include "internal.h"
32#include <stdio.h> 32#include <stdio.h>
33#include <time.h> 33#include <time.h>
34#include <sys/sysinfo.h> 34#include <errno.h>
35 35
36#define FSHIFT 16 /* nr of bits of precision */ 36#define FSHIFT 16 /* nr of bits of precision */
37#define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */ 37#define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */
38#define LOAD_INT(x) ((x) >> FSHIFT) 38#define LOAD_INT(x) ((x) >> FSHIFT)
39#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100) 39#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
40 40
41
41extern int uptime_main(int argc, char **argv) 42extern int uptime_main(int argc, char **argv)
42{ 43{
43 int updays, uphours, upminutes; 44 int updays, uphours, upminutes;
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 76f048b1c..292be0c43 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -358,6 +358,10 @@ extern int mount_main(int argc, char **argv)
358 fatalError( "\nDEVMTAB_GET_MOUNTS: %s\n", strerror (errno)); 358 fatalError( "\nDEVMTAB_GET_MOUNTS: %s\n", strerror (errno));
359 359
360 for( i = 0 ; i < numfilesystems ; i++) { 360 for( i = 0 ; i < numfilesystems ; i++) {
361 /* klude around Linux 2.4.x stupidity */
362 if (strcmp(mntentlist[i].mnt_fsname, "none") == 0) {
363 continue;
364 }
361 fprintf( stdout, "%s %s %s %s %d %d\n", mntentlist[i].mnt_fsname, 365 fprintf( stdout, "%s %s %s %s %d %d\n", mntentlist[i].mnt_fsname,
362 mntentlist[i].mnt_dir, mntentlist[i].mnt_type, 366 mntentlist[i].mnt_dir, mntentlist[i].mnt_type,
363 mntentlist[i].mnt_opts, mntentlist[i].mnt_freq, 367 mntentlist[i].mnt_opts, mntentlist[i].mnt_freq,
@@ -380,6 +384,10 @@ extern int mount_main(int argc, char **argv)
380 384
381 while ((m = getmntent(mountTable)) != 0) { 385 while ((m = getmntent(mountTable)) != 0) {
382 char *blockDevice = m->mnt_fsname; 386 char *blockDevice = m->mnt_fsname;
387 /* klude around Linux 2.4.x stupidity */
388 if (strcmp(blockDevice, "none") == 0) {
389 continue;
390 }
383 if (strcmp(blockDevice, "/dev/root") == 0) { 391 if (strcmp(blockDevice, "/dev/root") == 0) {
384 find_real_root_device_name( blockDevice); 392 find_real_root_device_name( blockDevice);
385 } 393 }
diff --git a/utility.c b/utility.c
index b9c7a76cd..061ba6423 100644
--- a/utility.c
+++ b/utility.c
@@ -131,6 +131,15 @@ extern int get_kernel_revision(void)
131} 131}
132#endif /* BB_INIT */ 132#endif /* BB_INIT */
133 133
134
135
136#if defined BB_FREE || defined BB_INIT || defined BB_UNAME || defined BB_UPTIME
137#include <sys/syscall.h>
138_syscall1(int, sysinfo, struct sysinfo *, info);
139#endif /* BB_INIT */
140
141
142
134#if defined (BB_CP_MV) || defined (BB_DU) 143#if defined (BB_CP_MV) || defined (BB_DU)
135 144
136#define HASH_SIZE 311 /* Should be prime */ 145#define HASH_SIZE 311 /* Should be prime */
@@ -1189,6 +1198,9 @@ extern struct mntent *findMountPoint(const char *name, const char *table)
1189 return 0; 1198 return 0;
1190 1199
1191 while ((mountEntry = getmntent(mountTable)) != 0) { 1200 while ((mountEntry = getmntent(mountTable)) != 0) {
1201 if (strcmp(mountEntry->mnt_fsname, "none") == 0) {
1202 continue;
1203 }
1192 if (strcmp(name, mountEntry->mnt_dir) == 0 1204 if (strcmp(name, mountEntry->mnt_dir) == 0
1193 || strcmp(name, mountEntry->mnt_fsname) == 0) /* String match. */ 1205 || strcmp(name, mountEntry->mnt_fsname) == 0) /* String match. */
1194 break; 1206 break;