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

Last change on this file since 3232 was 3232, checked in by Bruno Cornec, 10 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.