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#include "libbb.h" 13 14int FAST_FUNC fstype_matches(const char *fstype, const char *comma_list) 15{ 16 int match = 1; 17 18 if (!comma_list) 19 return match; 20 21 if (comma_list[0] == 'n' && comma_list[1] == 'o') { 22 match--; 23 comma_list += 2; 24 } 25 26 while (1) { 27 char *after_mnt_type = is_prefixed_with(comma_list, fstype); 28 if (after_mnt_type 29 && (*after_mnt_type == '\0' || *after_mnt_type == ',') 30 ) { 31 return match; 32 } 33 comma_list = strchr(comma_list, ','); 34 if (!comma_list) 35 break; 36 comma_list++; 37 } 38 39 return !match; 40} 41