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

Last change on this file since 3628 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
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 *
[2725]8 * Returns 1 for a match, otherwise 0
[1765]9 *
[2725]10 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
[1765]11 */
12
13#include "libbb.h"
14
[3232]15#ifdef HAVE_MNTENT_H
16
[2725]17int FAST_FUNC match_fstype(const struct mntent *mt, const char *t_fstype)
[1765]18{
[2725]19 int match = 1;
[1765]20 int len;
21
[2725]22 if (!t_fstype)
23 return match;
[1765]24
[2725]25 if (t_fstype[0] == 'n' && t_fstype[1] == 'o') {
26 match--;
27 t_fstype += 2;
[1765]28 }
29
30 len = strlen(mt->mnt_type);
[2725]31 while (1) {
32 if (strncmp(mt->mnt_type, t_fstype, len) == 0
33 && (t_fstype[len] == '\0' || t_fstype[len] == ',')
[1765]34 ) {
[2725]35 return match;
[1765]36 }
[2725]37 t_fstype = strchr(t_fstype, ',');
38 if (!t_fstype)
39 break;
40 t_fstype++;
[1765]41 }
42
[2725]43 return !match;
[1765]44}
[3232]45
46#endif /* HAVE_MNTENT_H */
Note: See TracBrowser for help on using the repository browser.