Changes for kernel and Busybox
[tomato.git] / release / src / router / busybox / libbb / match_fstype.c
blob32c3d7f188a1c941ef56fdf76becb761c9026f59
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
8 * Returns 1 for a match, otherwise 0
10 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
13 #include "libbb.h"
15 #ifdef HAVE_MNTENT_H
17 int FAST_FUNC match_fstype(const struct mntent *mt, const char *t_fstype)
19 int match = 1;
20 int len;
22 if (!t_fstype)
23 return match;
25 if (t_fstype[0] == 'n' && t_fstype[1] == 'o') {
26 match--;
27 t_fstype += 2;
30 len = strlen(mt->mnt_type);
31 while (1) {
32 if (strncmp(mt->mnt_type, t_fstype, len) == 0
33 && (t_fstype[len] == '\0' || t_fstype[len] == ',')
34 ) {
35 return match;
37 t_fstype = strchr(t_fstype, ',');
38 if (!t_fstype)
39 break;
40 t_fstype++;
43 return !match;
46 #endif /* HAVE_MNTENT_H */