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);
static inline ssize_t m_strcat(char *dst, ssize_t n, const char *src) {
- ssize_t dlen = m_strnlen(dst, n);
+ ssize_t dlen = m_strnlen(dst, n - 1);
return dlen + m_strcpy(dst + dlen, n - dlen, src);
}
+static inline ssize_t
+m_strncat(char *dst, ssize_t n, const char *src, ssize_t l) {
+ ssize_t dlen = m_strnlen(dst, n - 1);
+ return dlen + m_strncpy(dst + dlen, n - dlen, src, l);
+}
+
#endif /* MUTT_LIB_LIB_STR_H */