+ buffer_t *buf = client_output_buffer(pcy);
+
+ /* Write reply "action=ACTION [text]" */
+ buffer_addstr(buf, "action=");
+ buffer_ensure(buf, m_strlen(message) + 64);
+
+ ssize_t size = array_size(*buf) - array_len(*buf);
+ ssize_t format_size = query_format(array_ptr(*buf, array_len(*buf)),
+ size, message, query);
+ if (format_size == -1) {
+ buffer_addstr(buf, message);
+ } else if (format_size > size) {
+ buffer_ensure(buf, format_size + 1);
+ query_format(array_ptr(*buf, array_len(*buf)),
+ array_size(*buf) - array_len(*buf),
+ message, query);
+ array_len(*buf) += format_size;
+ } else {
+ array_len(*buf) += format_size;
+ }
+ buffer_addstr(buf, "\n\n");