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