return str->data;
}
-const unsigned char *str_data(const string_t *str)
-{
- return str->data;
-}
-
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 str->used;
-}
-
bool str_equals(const string_t *str1, const string_t *str2)
{
if (str1->used != str2->used)
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;
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)
-{
- buffer_append(dest, src->data, src->used);
-}
-
void str_printfa(string_t *str, const char *fmt, ...)
{
va_list args;
/* 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);
-}
#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.
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, ...)
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