12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /* vi: set sw=4 ts=4: */
- /*
- * Match fstypes for use in mount unmount
- * We accept notmpfs,nfs but not notmpfs,nonfs
- * This allows us to match fstypes that start with no like so
- * mount -at ,noddy
- *
- * Returns 1 for a match, otherwise 0
- *
- * Licensed under GPLv2 or later, see file LICENSE in this source tree.
- */
- #include "libbb.h"
- #ifdef HAVE_MNTENT_H
- int FAST_FUNC match_fstype(const struct mntent *mt, const char *t_fstype)
- {
- int match = 1;
- int len;
- if (!t_fstype)
- return match;
- if (t_fstype[0] == 'n' && t_fstype[1] == 'o') {
- match--;
- t_fstype += 2;
- }
- len = strlen(mt->mnt_type);
- while (1) {
- if (strncmp(mt->mnt_type, t_fstype, len) == 0
- && (t_fstype[len] == '\0' || t_fstype[len] == ',')
- ) {
- return match;
- }
- t_fstype = strchr(t_fstype, ',');
- if (!t_fstype)
- break;
- t_fstype++;
- }
- return !match;
- }
- #endif /* HAVE_MNTENT_H */
|