Magellan Linux

Annotation of /trunk/mkinitrd-magellan/busybox/libbb/match_fstype.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 816 - (hide annotations) (download)
Fri Apr 24 18:33:46 2009 UTC (15 years, 1 month ago) by niro
File MIME type: text/plain
File size: 815 byte(s)
-updated to busybox-1.13.4
1 niro 816 /* 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     }