X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib-lib%2Fstr.h;h=55a89b9c73734ef74e69dbb8dbbfb988497665dd;hb=c5ca8b7eaa727392811813926cda758bceef80f1;hp=01e6c6231fa85e2dab0707aa91d79da0210421ce;hpb=81884ccb464c69a8dba9de1b97af261a8a02b2c7;p=apps%2Fmadmutt.git diff --git a/lib-lib/str.h b/lib-lib/str.h index 01e6c62..55a89b9 100644 --- a/lib-lib/str.h +++ b/lib-lib/str.h @@ -37,14 +37,17 @@ 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) { - int v = __m_strdigits[c]; - return !(c & ~127) && v < 16 ? v : -1; + return !(c & ~127) && __m_strdigits[c] < 16 ? __m_strdigits[c] : -1; } static inline int base64val(int c) { @@ -97,6 +100,11 @@ static inline char *m_strdup(const char *s) { return len ? p_dup(s, len + 1) : NULL; } +static inline char *m_strreplace(char **p, const char *s) { + p_delete(p); + return (*p = m_strdup(s)); +} + ssize_t m_strcpy(char *dst, ssize_t n, const char *src); ssize_t m_strncpy(char *dst, ssize_t n, const char *src, ssize_t l);