This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
		
			
				
	
	
		
			32 lines
		
	
	
		
			799 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			799 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* vi: set sw=4 ts=4: */
 | 
						|
/* Print string that matches bit masked flags
 | 
						|
 *
 | 
						|
 * Copyright (C) 2008 Natanael Copa <natanael.copa@gmail.com>
 | 
						|
 *
 | 
						|
 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
 | 
						|
 */
 | 
						|
#include "libbb.h"
 | 
						|
 | 
						|
/* returns a set with the flags not printed */
 | 
						|
int FAST_FUNC print_flags_separated(const int *masks, const char *labels, int flags, const char *separator)
 | 
						|
{
 | 
						|
	const char *need_separator = NULL;
 | 
						|
	while (*labels) {
 | 
						|
		if (flags & *masks) {
 | 
						|
			printf("%s%s",
 | 
						|
				need_separator ? need_separator : "",
 | 
						|
				labels);
 | 
						|
			need_separator = separator;
 | 
						|
			flags &= ~ *masks;
 | 
						|
		}
 | 
						|
		masks++;
 | 
						|
		labels += strlen(labels) + 1;
 | 
						|
	}
 | 
						|
	return flags;
 | 
						|
}
 | 
						|
 | 
						|
int FAST_FUNC print_flags(const masks_labels_t *ml, int flags)
 | 
						|
{
 | 
						|
	return print_flags_separated(ml->masks, ml->labels, flags, NULL);
 | 
						|
}
 |