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)17endofname(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