]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Use buffer_nul_terminate() for string_t NUL-termination
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 3 Feb 2026 12:26:56 +0000 (14:26 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 6 Feb 2026 14:34:18 +0000 (14:34 +0000)
src/lib/str.c

index 2ec597023db833a14eb9948bc5885b4ab024f03c..18efbbb64b6c9519789f6b13e642f6151e11fe4c 100644 (file)
@@ -46,34 +46,21 @@ void str_free(string_t **str)
        buffer_free(str);
 }
 
-static void str_add_nul(string_t *str)
-{
-       const unsigned char *data = str_data(str);
-       size_t len = str_len(str);
-       size_t alloc = buffer_get_size(str);
-
-       if (len == alloc || data[len] != '\0') {
-               buffer_write(str, len, "", 1);
-               /* remove the \0 - we don't want to keep it */
-               buffer_set_used_size(str, len);
-       }
-}
-
 char *str_free_without_data(string_t **str)
 {
-       str_add_nul(*str);
+       buffer_nul_terminate(*str);
        return buffer_free_without_data(str);
 }
 
 const char *str_c(string_t *str)
 {
-       str_add_nul(str);
+       buffer_nul_terminate(str);
        return str->data;
 }
 
 char *str_c_modifiable(string_t *str)
 {
-       str_add_nul(str);
+       buffer_nul_terminate(str);
        return buffer_get_modifiable_data(str, NULL);
 }