drop str_[n]cat.
[apps/madmutt.git] / lib-lib / str.h
index 3694371..4ef9d48 100644 (file)
@@ -46,10 +46,17 @@ static inline int m_strcmp(const char *a, const char *b) {
 
 
 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 */