projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
put old m_snsubst into file.c as m_file_fmt.
[apps/madmutt.git]
/
lib-lib
/
str.h
diff --git
a/lib-lib/str.h
b/lib-lib/str.h
index
bb2d822
..
a5791c3
100644
(file)
--- a/
lib-lib/str.h
+++ b/
lib-lib/str.h
@@
-16,15
+16,14
@@
*
* Copyright © 2006 Pierre Habouzit
*/
*
* 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
#ifndef MUTT_LIB_LIB_STR_H
#define MUTT_LIB_LIB_STR_H
-#include <string.h>
-#include <ctype.h>
-
-#include "mem.h"
-
#define HUGE_STRING 5120
#define LONG_STRING 1024
#define STRING 256
#define HUGE_STRING 5120
#define LONG_STRING 1024
#define STRING 256
@@
-57,6
+56,20
@@
static inline void m_strtolower(char *p) {
*p = tolower((unsigned char)*p);
}
*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 */
/****************************************************************************/
/****************************************************************************/
/* length related */
/****************************************************************************/
@@
-86,14
+99,17
@@
static inline int m_strcasecmp(const char *a, const char *b) {
return strcasecmp(NONULL(a), NONULL(b));
}
return strcasecmp(NONULL(a), NONULL(b));
}
-static inline int m_strncmp(const char *a, const char *b, size_t n) {
+static inline int m_strncmp(const char *a, const char *b, s
s
ize_t n) {
return strncmp (NONULL(a), NONULL(b), n);
}
return strncmp (NONULL(a), NONULL(b), n);
}
-static inline int m_strncasecmp(const char *a, const char *b, size_t n) {
+static inline int m_strncasecmp(const char *a, const char *b, s
s
ize_t n) {
return strncasecmp(NONULL(a), NONULL(b), n);
}
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 */
/****************************************************************************/
/****************************************************************************/
/* making copies */
/****************************************************************************/
@@
-130,6
+146,18
@@
m_strncat(char *dst, ssize_t n, const char *src, ssize_t l) {
/* parsing related */
/****************************************************************************/
/* parsing related */
/****************************************************************************/
+static inline const char *m_strchrnul(const char *s, int c) {
+ while (*s && *s != c)
+ s++;
+ return s;
+}
+
+static inline const char *m_strnextsp(const char *s) {
+ while (*s && !isspace((unsigned char)*s))
+ s++;
+ return s;
+}
+
static inline const char *skipspaces(const char *s) {
while (*s && isspace((unsigned char)*s))
s++;
static inline const char *skipspaces(const char *s) {
while (*s && isspace((unsigned char)*s))
s++;