str.h revision 0e3f8c6edad565112d91f0a53568c0313d657e48
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenstring_t *str_new(pool_t pool, size_t initial_size);
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainen/* Allocate a constant string using the given str as the input data.
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainen str pointer is saved directly, so it must not be freed until the returned
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainen string is no longer used. len must contain strlen(str). */
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenstring_t *str_new_const(pool_t pool, const char *str, size_t len);
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenstring_t *t_str_new_const(const char *str, size_t len);
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenconst unsigned char *str_data(const string_t *str) ATTR_PURE;
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenbool str_equals(const string_t *str1, const string_t *str2) ATTR_PURE;
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenvoid str_append(string_t *str, const char *cstr);
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenvoid str_append_n(string_t *str, const void *cstr, size_t max_len);
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenvoid str_append_c(string_t *str, unsigned char chr);
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenvoid str_append_str(string_t *dest, const string_t *src);
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainen/* Append printf()-like data */
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenvoid str_printfa(string_t *str, const char *fmt, ...)
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenvoid str_vprintfa(string_t *str, const char *fmt, va_list args)
c6a57378d3c54988f525f81e19c0c5d132a0770dTimo Sirainenvoid str_insert(string_t *str, size_t pos, const char *cstr);