*
* Copyright © 2006 Pierre Habouzit
*/
+/*
+ * Copyright notice from original mutt:
+ * Copyright (C) 2001 Thomas Roessler <roessler@does-not-exist.org>
+ */
#ifndef MUTT_LIB_LIB_STR_H
#define MUTT_LIB_LIB_STR_H
*p = tolower((unsigned char)*p);
}
+static inline int ascii_toupper(int c) {
+ if ('a' <= c && c <= 'z')
+ return c & ~32;
+
+ return c;
+}
+
+static inline int ascii_tolower(int c) {
+ if ('A' <= c && c <= 'Z')
+ return c | 32;
+
+ return c;
+}
+
/****************************************************************************/
/* length related */
/****************************************************************************/
return strncasecmp(NONULL(a), NONULL(b), n);
}
+int ascii_strcasecmp(const char *a, const char *b);
+int ascii_strncasecmp(const char *a, const char *b, ssize_t n);
+
/****************************************************************************/
/* making copies */
/****************************************************************************/
return m_stristrn(haystack, needle, m_strlen(needle));
}
+
+/****************************************************************************/
+/* misc functions */
+/****************************************************************************/
+
+/* replace any %s with src, or appends " $src" */
+ssize_t m_snsubst(char *dst, ssize_t n, const char *fmt, const char *src);
+
#endif /* MUTT_LIB_LIB_STR_H */