projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
revamp lib.[hc] functions into lib-lib/file.[hc].
[apps/madmutt.git]
/
lib-lib
/
str.h
diff --git
a/lib-lib/str.h
b/lib-lib/str.h
index
d21e120
..
3694371
100644
(file)
--- a/
lib-lib/str.h
+++ b/
lib-lib/str.h
@@
-31,6
+31,11
@@
static inline ssize_t m_strlen(const char *s) {
return s ? strlen(s) : 0;
}
return s ? strlen(s) : 0;
}
+static inline ssize_t m_strnlen(const char *s, ssize_t n) {
+ const char *p = memchr(s, '\0', n);
+ return p ? p - s : n;
+}
+
static inline char *m_strdup(const char *s) {
return p_dupstr(s, m_strlen(s));
}
static inline char *m_strdup(const char *s) {
return p_dupstr(s, m_strlen(s));
}
@@
-39,4
+44,12
@@
static inline int m_strcmp(const char *a, const char *b) {
return strcmp(NONULL(a), NONULL(b));
}
return strcmp(NONULL(a), NONULL(b));
}
+
+ssize_t m_strcpy(char *dst, ssize_t n, const char *src);
+
+static inline ssize_t m_strcat(char *dst, ssize_t n, const char *src) {
+ ssize_t dlen = m_strnlen(dst, n);
+ return dlen + m_strcpy(dst + dlen, n - dlen, src);
+}
+
#endif /* MUTT_LIB_LIB_STR_H */
#endif /* MUTT_LIB_LIB_STR_H */