source: branches/3.2/mindi-busybox/libbb/match_fstype.c @ 3232

Last change on this file since 3232 was 3232, checked in by bruno, 5 years ago
  • Update mindi-busybox to 1.21.1
  • Property svn:eol-style set to native
File size: 879 bytes
Line 
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 1 for a match, otherwise 0
9 *
10 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
11 */
12
13#include "libbb.h"
14
15#ifdef HAVE_MNTENT_H
16
17int FAST_FUNC match_fstype(const struct mntent *mt, const char *t_fstype)
18{
19    int match = 1;
20    int len;
21
22    if (!t_fstype)
23        return match;
24
25    if (t_fstype[0] == 'n' && t_fstype[1] == 'o') {
26        match--;
27        t_fstype += 2;
28    }
29
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;
36        }
37        t_fstype = strchr(t_fstype, ',');
38        if (!t_fstype)
39            break;
40        t_fstype++;
41    }
42
43    return !match;
44}
45
46#endif /* HAVE_MNTENT_H */
Note: See TracBrowser for help on using the repository browser.