const char *imap_quote(pool_t pool, const unsigned char *value,
size_t value_len)
{
+ string_t *str;
char *ret;
if (value == NULL)
return "NIL";
- T_BEGIN {
- string_t *str;
+ if (!pool->datastack_pool)
+ t_push();
- str = t_str_new(value_len + MAX_INT_STRLEN + 5);
- imap_quote_append(str, value, value_len, TRUE);
- ret = p_strndup(pool, str_data(str), str_len(str));
- } T_END;
+ str = t_str_new(value_len + MAX_INT_STRLEN + 5);
+ imap_quote_append(str, value, value_len, TRUE);
+ ret = p_strndup(pool, str_data(str), str_len(str));
+ if (!pool->datastack_pool)
+ t_pop();
return ret;
}