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