41 lines
		
	
	
		
			844 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			844 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* 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"
 | 
						|
 | 
						|
int FAST_FUNC fstype_matches(const char *fstype, const char *comma_list)
 | 
						|
{
 | 
						|
	int match = 1;
 | 
						|
 | 
						|
	if (!comma_list)
 | 
						|
		return match;
 | 
						|
 | 
						|
	if (comma_list[0] == 'n' && comma_list[1] == 'o') {
 | 
						|
		match--;
 | 
						|
		comma_list += 2;
 | 
						|
	}
 | 
						|
 | 
						|
	while (1) {
 | 
						|
		char *after_mnt_type = is_prefixed_with(comma_list, fstype);
 | 
						|
		if (after_mnt_type
 | 
						|
		 && (*after_mnt_type == '\0' || *after_mnt_type == ',')
 | 
						|
		) {
 | 
						|
			return match;
 | 
						|
		}
 | 
						|
		comma_list = strchr(comma_list, ',');
 | 
						|
		if (!comma_list)
 | 
						|
			break;
 | 
						|
		comma_list++;
 | 
						|
	}
 | 
						|
 | 
						|
	return !match;
 | 
						|
}
 |