Added debian/ from 1:1.10.2-1 debian package
[busybox4maemo] / libbb / match_fstype.c
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 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 }