27 lines
		
	
	
		
			486 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			486 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Utility routines.
 | |
|  *
 | |
|  * Copyright (C) 2013 Denys Vlasenko
 | |
|  *
 | |
|  * Licensed under GPLv2, see file LICENSE in this source tree.
 | |
|  */
 | |
| 
 | |
| //kbuild:lib-y += endofname.o
 | |
| 
 | |
| #include "libbb.h"
 | |
| 
 | |
| #define is_name(c)      ((c) == '_' || isalpha((unsigned char)(c)))
 | |
| #define is_in_name(c)   ((c) == '_' || isalnum((unsigned char)(c)))
 | |
| 
 | |
| const char* FAST_FUNC
 | |
| endofname(const char *name)
 | |
| {
 | |
| 	if (!is_name(*name))
 | |
| 		return name;
 | |
| 	while (*++name) {
 | |
| 		if (!is_in_name(*name))
 | |
| 			break;
 | |
| 	}
 | |
| 	return name;
 | |
| }
 | 
