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 16const char* FAST_FUNC 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