Lines 1-25
Link Here
|
1 |
--- cmds.c.orig Mon Jul 22 00:28:19 2002 |
1 |
--- cmds.c.orig Mon Jul 22 00:28:19 2002 |
2 |
+++ cmds.c Fri Sep 3 16:35:01 2004 |
2 |
+++ cmds.c Fri Sep 3 16:35:01 2004 |
3 |
@@ -17,6 +17,18 @@ |
3 |
@@ -17,9 +17,18 @@ |
4 |
#include <utime.h> |
4 |
#include <utime.h> |
5 |
#include <errno.h> |
5 |
#include <errno.h> |
6 |
|
6 |
|
7 |
+#if __FreeBSD__ |
7 |
+#if __FreeBSD__ |
8 |
+#include <ufs/ufs/ufsmount.h> |
8 |
+#include <ufs/ufs/ufsmount.h> |
9 |
+#include <isofs/cd9660/cd9660_mount.h> |
9 |
+#include <isofs/cd9660/cd9660_mount.h> |
10 |
+#if __FreeBSD_version >= 500019 |
|
|
11 |
+#include <fs/msdosfs/msdosfsmount.h> |
10 |
+#include <fs/msdosfs/msdosfsmount.h> |
|
|
11 |
+#if __FreeBSD_version < 1000000 |
12 |
+#include <fs/ntfs/ntfsmount.h> |
12 |
+#include <fs/ntfs/ntfsmount.h> |
13 |
+#else |
13 |
+#define HAVE_BSD_NTFSMOUNT |
14 |
+#include <msdosfs/msdosfsmount.h> |
|
|
15 |
+#include <ntfs/ntfsmount.h> |
16 |
+#endif |
14 |
+#endif |
17 |
+#endif |
15 |
+#endif |
18 |
+ |
16 |
+ |
19 |
#if HAVE_LINUX_MOUNT |
17 |
#if HAVE_LINUX_MOUNT |
20 |
#include <linux/fs.h> |
18 |
#include <linux/fs.h> |
21 |
#endif |
19 |
-#endif |
22 |
@@ -564,6 +576,10 @@ |
20 |
|
|
|
21 |
/* Need to tell loop.h what the actual dev_t type is. */ |
22 |
#undef dev_t |
23 |
@@ -32,6 +41,7 @@ |
24 |
#undef dev_t |
25 |
#define dev_t dev_t |
26 |
|
27 |
+#endif |
28 |
|
29 |
int |
30 |
do_echo(int argc, const char ** argv) |
31 |
@@ -716,6 +726,10 @@ |
23 |
flags |= MNT_RDONLY; |
32 |
flags |= MNT_RDONLY; |
24 |
break; |
33 |
break; |
25 |
|
34 |
|
Lines 30-36
Link Here
|
30 |
case 's': |
39 |
case 's': |
31 |
flags |= MNT_NOSUID; |
40 |
flags |= MNT_NOSUID; |
32 |
break; |
41 |
break; |
33 |
@@ -594,35 +610,47 @@ |
42 |
@@ -748,46 +762,58 @@ |
34 |
#elif HAVE_BSD_MOUNT |
43 |
#elif HAVE_BSD_MOUNT |
35 |
{ |
44 |
{ |
36 |
struct ufs_args ufs; |
45 |
struct ufs_args ufs; |
Lines 38-67
Link Here
|
38 |
struct iso_args iso; |
47 |
struct iso_args iso; |
39 |
- struct mfs_args mfs; |
48 |
- struct mfs_args mfs; |
40 |
struct msdosfs_args msdosfs; |
49 |
struct msdosfs_args msdosfs; |
|
|
50 |
+#ifdef HAVE_BSD_NTFSMOUNT |
41 |
+ struct ntfs_args ntfs; |
51 |
+ struct ntfs_args ntfs; |
|
|
52 |
+#endif |
42 |
void * args; |
53 |
void * args; |
43 |
|
54 |
|
44 |
if(!strcmp(type, "ffs") || !strcmp(type, "ufs")) { |
55 |
if (!strcmp(type, "ffs") || !strcmp(type, "ufs")) |
|
|
56 |
{ |
45 |
+ memset(&ufs, 0, sizeof(ufs)); |
57 |
+ memset(&ufs, 0, sizeof(ufs)); |
46 |
ufs.fspec = (char*) argv[0]; |
58 |
ufs.fspec = (char*) argv[0]; |
47 |
args = &ufs; |
59 |
args = &ufs; |
48 |
- } else if(!strcmp(type, "adosfs")) { |
60 |
} |
|
|
61 |
- else if (!strcmp(type, "adosfs")) |
62 |
- { |
49 |
- adosfs.fspec = (char*) argv[0]; |
63 |
- adosfs.fspec = (char*) argv[0]; |
50 |
- adosfs.uid = 0; |
64 |
- adosfs.uid = 0; |
51 |
- adosfs.gid = 0; |
65 |
- adosfs.gid = 0; |
52 |
- args = &adosfs; |
66 |
- args = &adosfs; |
53 |
} else if(!strcmp(type, "cd9660")) { |
67 |
- } |
|
|
68 |
else if (!strcmp(type, "cd9660")) |
69 |
{ |
54 |
+ memset(&iso, 0, sizeof(iso)); |
70 |
+ memset(&iso, 0, sizeof(iso)); |
55 |
iso.fspec = (char*) argv[0]; |
71 |
iso.fspec = (char*) argv[0]; |
56 |
args = &iso; |
72 |
args = &iso; |
57 |
- } else if(!strcmp(type, "mfs")) { |
73 |
} |
|
|
74 |
- else if (!strcmp(type, "mfs")) |
75 |
- { |
58 |
- mfs.fspec = (char*) argv[0]; |
76 |
- mfs.fspec = (char*) argv[0]; |
59 |
- args = &mfs; |
77 |
- args = &mfs; |
60 |
+ } else if(!strcmp(type, "ext2fs")) { |
78 |
- } |
61 |
+ memset(&ufs, 0, sizeof(ufs)); |
79 |
else if (!strcmp(type, "msdos")) |
62 |
+ ufs.fspec = (char*) argv[0]; |
80 |
{ |
63 |
+ args = &ufs; |
|
|
64 |
} else if(!strcmp(type, "msdos")) { |
65 |
+ memset(&msdosfs, 0, sizeof(msdosfs)); |
81 |
+ memset(&msdosfs, 0, sizeof(msdosfs)); |
66 |
msdosfs.fspec = (char*) argv[0]; |
82 |
msdosfs.fspec = (char*) argv[0]; |
67 |
- msdosfs.uid = 0; |
83 |
- msdosfs.uid = 0; |
Lines 73-78
Link Here
|
73 |
+ msdosfs.mask = msdosfs.dirmask = 7555; |
89 |
+ msdosfs.mask = msdosfs.dirmask = 7555; |
74 |
+ } |
90 |
+ } |
75 |
args = &msdosfs; |
91 |
args = &msdosfs; |
|
|
92 |
+#ifdef HAVE_BSD_NTFSMOUNT |
76 |
+ } else if(!strcmp(type, "ntfs")) { |
93 |
+ } else if(!strcmp(type, "ntfs")) { |
77 |
+ memset(&ntfs, 0, sizeof(ntfs)); |
94 |
+ memset(&ntfs, 0, sizeof(ntfs)); |
78 |
+ ntfs.fspec = (char*) argv[0]; |
95 |
+ ntfs.fspec = (char*) argv[0]; |
Lines 83-93
Link Here
|
83 |
+ ntfs.mode = 0755; |
100 |
+ ntfs.mode = 0755; |
84 |
+ } |
101 |
+ } |
85 |
+ args = &ntfs; |
102 |
+ args = &ntfs; |
86 |
} else { |
103 |
+#endif |
|
|
104 |
} |
105 |
else |
106 |
{ |
87 |
fprintf(stderr, "Unknown filesystem type: %s", type); |
107 |
fprintf(stderr, "Unknown filesystem type: %s", type); |
88 |
fprintf(stderr, |
108 |
fprintf(stderr, |
89 |
- "Supported: ffs ufs adosfs cd9660 mfs msdos\n"); |
109 |
- "Supported: ffs ufs adosfs cd9660 mfs msdos\n"); |
|
|
110 |
+#ifdef HAVE_BSD_NTFSMOUNT |
90 |
+ "Supported: ffs ufs cd9660 ext2fs msdos ntfs\n"); |
111 |
+ "Supported: ffs ufs cd9660 ext2fs msdos ntfs\n"); |
91 |
return; |
112 |
+#else |
92 |
} |
113 |
+ "Supported: ffs ufs cd9660 ext2fs msdos\n"); |
|
|
114 |
+#endif |
93 |
|
115 |
|
|
|
116 |
return 1; |
117 |
} |