1 /*
2  * Utility routines.
3  *
4  * Copyright (C) 2013 Denys Vlasenko
5  *
6  * Licensed under GPLv2, see file LICENSE in this source tree.
7  */
8 
9 //kbuild:lib-y += endofname.o
10 
11 #include "libbb.h"
12 
13 #define is_name(c)      ((c) == '_' || isalpha((unsigned char)(c)))
14 #define is_in_name(c)   ((c) == '_' || isalnum((unsigned char)(c)))
15 
16 const char* FAST_FUNC
endofname(const char * name)17 endofname(const char *name)
18 {
19 	if (!is_name(*name))
20 		return name;
21 	while (*++name) {
22 		if (!is_in_name(*name))
23 			break;
24 	}
25 	return name;
26 }
27