aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/busybox/busybox-1.2.2/mount-all-type.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/busybox/busybox-1.2.2/mount-all-type.patch')
-rw-r--r--recipes/busybox/busybox-1.2.2/mount-all-type.patch84
1 files changed, 0 insertions, 84 deletions
diff --git a/recipes/busybox/busybox-1.2.2/mount-all-type.patch b/recipes/busybox/busybox-1.2.2/mount-all-type.patch
deleted file mode 100644
index 476094a804..0000000000
--- a/recipes/busybox/busybox-1.2.2/mount-all-type.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- busybox-1.00/.pc/mount-all-type.patch/util-linux/mount.c 2004-08-02 17:14:02.000000000 -0700
-+++ busybox-1.00/util-linux/mount.c 2005-05-13 00:17:19.054232796 -0700
-@@ -364,6 +364,56 @@
- exit(EXIT_SUCCESS);
- }
-
-+/* Does this file system type, from /etc/fstab, match the given
-+ * -t option value?
-+ */
-+static int match_fs(const char *option, const char *type)
-+{
-+ const int len = strlen(type);
-+ const int no = option[0] == 'n' && option[1] == 'o';
-+ const char *optp = option;
-+
-+ if (len > 0) do {
-+ const char *match = strstr(optp, type);
-+
-+ if (match == NULL) {
-+ /* No match, but if the option string starts 'no' no match
-+ * means yes.
-+ */
-+ return no;
-+ }
-+
-+ /* Match, may be partial, check for end-of-type in option string. */
-+ if (match[len] == 0 || match[len] == ',') {
-+ /* Ok, check for type or notype. */
-+ if (match == option) {
-+ /* Exact match at start (can't be 'no') */
-+ return 1;
-+ }
-+ if (match > option+1) {
-+ if (match[-1] == ',') {
-+ /* Exact match in middle, might be 'no' */
-+ return !no;
-+ }
-+ if (match == option+2 && no) {
-+ /* Exact match to 'notype' at start. */
-+ return 0;
-+ }
-+ if (match > option+2 && match[-3] == ',' &&
-+ match[-2] == 'n' && match[-1] == 'o') {
-+ return 0;
-+ }
-+ }
-+ }
-+
-+ /* Look for another match. */
-+ optp = match+1;
-+ } while (1);
-+
-+ /* zero length type in fstab (impossible?), don't match it. */
-+ return 0;
-+}
-+
- extern int mount_main(int argc, char **argv)
- {
- struct stat statbuf;
-@@ -371,6 +421,7 @@
- char *extra_opts;
- int flags = 0;
- char *filesystemType = "auto";
-+ char *filesystemOption = 0;
- int got_filesystemType = 0;
- char *device = xmalloc(PATH_MAX);
- char *directory = xmalloc(PATH_MAX);
-@@ -393,6 +444,7 @@
- break;
- case 't':
- filesystemType = optarg;
-+ filesystemOption = optarg;
- got_filesystemType = 1;
- break;
- case 'w':
-@@ -460,6 +512,8 @@
-
- strcpy(device, m->mnt_fsname);
- strcpy(directory, m->mnt_dir);
-+ if (all && filesystemOption != 0 && !match_fs(filesystemOption, m->mnt_type))
-+ continue;
- filesystemType = bb_xstrdup(m->mnt_type);
- singlemount:
- extra_opts = string_flags;