source: MondoRescue/branches/2.2.5/mindi-busybox/libbb/match_fstype.c @ 1765

Last change on this file since 1765 was 1765, checked in by Bruno Cornec, 12 years ago

Update to busybox 1.7.2

  • Property svn:eol-style set to native
File size: 805 bytes
RevLine 
[1765]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
15int 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}
Note: See TracBrowser for help on using the repository browser.