Magellan Linux

Contents of /tags/mkinitrd-6_1_11/busybox/libbb/match_fstype.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 928 - (show annotations) (download)
Wed Oct 28 13:31:19 2009 UTC (14 years, 6 months ago) by niro
File MIME type: text/plain
File size: 815 byte(s)
tagged 'mkinitrd-6_1_11'
1 /* vi: set sw=4 ts=4: */
2 /*
3 * Match fstypes for use in mount unmount
4 * We accept notmpfs,nfs but not notmpfs,nonfs
5 * This allows us to match fstypes that start with no like so
6 * mount -at ,noddy
7 *
8 * Returns 0 for a match, otherwise -1
9 *
10 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
11 */
12
13 #include "libbb.h"
14
15 int FAST_FUNC match_fstype(const struct mntent *mt, const char *fstype)
16 {
17 int no = 0;
18 int len;
19
20 if (!mt)
21 return -1;
22
23 if (!fstype)
24 return 0;
25
26 if (fstype[0] == 'n' && fstype[1] == 'o') {
27 no = -1;
28 fstype += 2;
29 }
30
31 len = strlen(mt->mnt_type);
32 while (fstype) {
33 if (!strncmp(mt->mnt_type, fstype, len)
34 && (!fstype[len] || fstype[len] == ',')
35 ) {
36 return no;
37 }
38 fstype = strchr(fstype, ',');
39 if (fstype)
40 fstype++;
41 }
42
43 return -(no + 1);
44 }