busybox/libbb/endofname.c
<<
>>
Prefs
   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