#include #include #include #include #include "ep.h" enum lang_index { c_lang, //cpp_lang, //python_lang, //go_lang, lang_index_n }; static int c_lang_check(const char *, unsigned char); struct lang_check { int (*check)(const char *, unsigned char); char display[8]; }; const struct lang_check l[] = { [c_lang] = { .check = c_lang_check, .display = " C" }, }; /* bitmap of 1<d_name, item->d_type) << i; } } return mask; } static inline int isfile(unsigned char t) { return t & (DT_REG | DT_LNK); } static int c_lang_check(const char *s, unsigned char t) { return isfile(t) && !fnmatch("*.c", s, 0); }