X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Fstr.h;h=29b8817fe56bf95432f9ab94ba5b4632b870e3cf;hp=973e0bed7c760116a266983a87d08ac1e068832f;hb=b36dc16c428cc2b1371bb99c0581aa014f302791;hpb=c8bf978fc5c4f6c793620a515fa2456a3fa9eb13 diff --git a/lib-lib/str.h b/lib-lib/str.h index 973e0be..29b8817 100644 --- a/lib-lib/str.h +++ b/lib-lib/str.h @@ -33,7 +33,26 @@ #define SHORT_STRING 128 #define NONULL(x) (x?x:"") -# define ISSPACE(c) isspace((unsigned char)c) +#define ISSPACE(c) isspace((unsigned char)c) + +extern unsigned char const __m_strdigits[128]; +extern signed char const __m_b64digits[128]; +extern char const __m_b64chars[64]; + +extern char const __m_b36chars_lower[36]; +extern char const __m_b36chars_upper[36]; + +/****************************************************************************/ +/* char related */ +/****************************************************************************/ + +static inline int hexval(int c) { + return !(c & ~127) && __m_strdigits[c] < 16 ? __m_strdigits[c] : -1; +} + +static inline int base64val(int c) { + return (c & ~127) ? -1 : __m_b64digits[c]; +} /****************************************************************************/ /* length related */