Mercurial > dovecot > core-2.2
changeset 21019:b1e73bc7129c
lib: Make str_*() inline which are simple buffer_* wrappers.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sat, 30 Apr 2016 14:03:32 +0300 |
parents | 645375ff262c |
children | ae7aa8fe8c17 |
files | src/lib/str.c src/lib/str.h |
diffstat | 2 files changed, 44 insertions(+), 58 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/str.c Fri Sep 16 09:53:06 2016 +0300 +++ b/src/lib/str.c Sat Apr 30 14:03:32 2016 +0300 @@ -67,22 +67,12 @@ return buffer_get_data(str, NULL); } -const unsigned char *str_data(const string_t *str) -{ - return buffer_get_data(str, NULL); -} - char *str_c_modifiable(string_t *str) { str_add_nul(str); return buffer_get_modifiable_data(str, NULL); } -size_t str_len(const string_t *str) -{ - return buffer_get_used_size(str); -} - bool str_equals(const string_t *str1, const string_t *str2) { if (str1->used != str2->used) @@ -91,11 +81,6 @@ return memcmp(str1->data, str2->data, str1->used) == 0; } -void str_append(string_t *str, const char *cstr) -{ - buffer_append(str, cstr, strlen(cstr)); -} - void str_append_n(string_t *str, const void *cstr, size_t max_len) { size_t len; @@ -107,25 +92,6 @@ buffer_append(str, cstr, len); } -void str_append_data(string_t *str, const void *data, size_t len) -{ - buffer_append(str, data, len); -} - -void str_append_c(string_t *str, unsigned char chr) -{ - buffer_append_c(str, chr); -} - -void str_append_str(string_t *dest, const string_t *src) -{ - const char *cstr; - size_t len; - - cstr = buffer_get_data(src, &len); - buffer_append(dest, cstr, len); -} - void str_printfa(string_t *str, const char *fmt, ...) { va_list args; @@ -175,18 +141,3 @@ /* drop the unused data, including terminating NUL */ buffer_set_used_size(str, pos + ret); } - -void str_insert(string_t *str, size_t pos, const char *cstr) -{ - buffer_insert(str, pos, cstr, strlen(cstr)); -} - -void str_delete(string_t *str, size_t pos, size_t len) -{ - buffer_delete(str, pos, len); -} - -void str_truncate(string_t *str, size_t len) -{ - buffer_set_used_size(str, len); -}
--- a/src/lib/str.h Fri Sep 16 09:53:06 2016 +0300 +++ b/src/lib/str.h Sat Apr 30 14:03:32 2016 +0300 @@ -1,6 +1,8 @@ #ifndef STR_H #define STR_H +#include "buffer.h" + string_t *str_new(pool_t pool, size_t initial_size); string_t *t_str_new(size_t initial_size); /* Allocate a constant string using the given str as the input data. @@ -12,17 +14,39 @@ char *str_free_without_data(string_t **str); const char *str_c(string_t *str); -const unsigned char *str_data(const string_t *str) ATTR_PURE; char *str_c_modifiable(string_t *str); -size_t str_len(const string_t *str) ATTR_PURE; bool str_equals(const string_t *str1, const string_t *str2) ATTR_PURE; +static inline const unsigned char *str_data(const string_t *str) +{ + return str->data; +} +static inline size_t str_len(const string_t *str) +{ + return str->used; +} + /* Append string/character */ -void str_append(string_t *str, const char *cstr); void str_append_n(string_t *str, const void *cstr, size_t max_len); -void str_append_data(string_t *str, const void *data, size_t len); -void str_append_c(string_t *str, unsigned char chr); -void str_append_str(string_t *dest, const string_t *src); + +static inline void str_append(string_t *str, const char *cstr) +{ + buffer_append(str, cstr, strlen(cstr)); +} +static inline void str_append_data(string_t *str, const void *data, size_t len) +{ + buffer_append(str, data, len); +} + +static inline void str_append_c(string_t *str, unsigned char chr) +{ + buffer_append_c(str, chr); +} + +static inline void str_append_str(string_t *dest, const string_t *src) +{ + buffer_append(dest, src->data, src->used); +} /* Append printf()-like data */ void str_printfa(string_t *str, const char *fmt, ...) @@ -30,8 +54,19 @@ void str_vprintfa(string_t *str, const char *fmt, va_list args) ATTR_FORMAT(2, 0); -void str_insert(string_t *str, size_t pos, const char *cstr); -void str_delete(string_t *str, size_t pos, size_t len); -void str_truncate(string_t *str, size_t len); +static inline void str_insert(string_t *str, size_t pos, const char *cstr) +{ + buffer_insert(str, pos, cstr, strlen(cstr)); +} + +static inline void str_delete(string_t *str, size_t pos, size_t len) +{ + buffer_delete(str, pos, len); +} + +static inline void str_truncate(string_t *str, size_t len) +{ + buffer_set_used_size(str, len); +} #endif