Lines Matching refs:xbp

747     xo_buffer_t *xbp = &xop->xo_data;
752 if (!xo_buf_has_room(xbp, indent))
755 memset(xbp->xb_curp, ' ', indent);
756 xbp->xb_curp += indent;
765 xo_escape_xml (xo_buffer_t *xbp, ssize_t len, xo_xff_flags_t flags)
773 for (cp = xbp->xb_curp, ep = cp + len; cp < ep; cp++) {
788 if (!xo_buf_has_room(xbp, delta)) /* No room; bail, but don't append */
791 ep = xbp->xb_curp;
821 xo_escape_json (xo_buffer_t *xbp, ssize_t len, xo_xff_flags_t flags UNUSED)
826 for (cp = xbp->xb_curp, ep = cp + len; cp < ep; cp++) {
836 if (!xo_buf_has_room(xbp, delta)) /* No room; bail, but don't append */
839 ep = xbp->xb_curp;
869 xo_escape_sdparams (xo_buffer_t *xbp, ssize_t len, xo_xff_flags_t flags UNUSED)
874 for (cp = xbp->xb_curp, ep = cp + len; cp < ep; cp++) {
882 if (!xo_buf_has_room(xbp, delta)) /* No room; bail, but don't append */
885 ep = xbp->xb_curp;
905 xo_buf_escape (xo_handle_t *xop, xo_buffer_t *xbp,
908 if (!xo_buf_has_room(xbp, len))
911 memcpy(xbp->xb_curp, str, len);
916 len = xo_escape_xml(xbp, len, flags);
920 len = xo_escape_json(xbp, len, flags);
924 len = xo_escape_sdparams(xbp, len, flags);
928 xbp->xb_curp += len;
939 xo_buffer_t *xbp = &xop->xo_data;
941 if (xbp->xb_curp != xbp->xb_bufp) {
942 xo_buf_append(xbp, "", 1); /* Append ending NUL */
945 rc = xop->xo_write(xop->xo_opaque, xbp->xb_bufp);
946 xbp->xb_curp = xbp->xb_bufp;
960 xo_vsnprintf (xo_handle_t *xop, xo_buffer_t *xbp, const char *fmt, va_list vap)
964 ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
969 rc = xop->xo_formatter(xop, xbp->xb_curp, left, fmt, va_local);
971 rc = vsnprintf(xbp->xb_curp, left, fmt, va_local);
974 if (!xo_buf_has_room(xbp, rc)) {
990 left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
992 rc = xop->xo_formatter(xop, xbp->xb_curp, left, fmt, va_local);
994 rc = vsnprintf(xbp->xb_curp, left, fmt, va_local);
1007 xo_buffer_t *xbp = &xop->xo_data;
1008 ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
1014 rc = vsnprintf(xbp->xb_curp, left, fmt, va_local);
1017 if (!xo_buf_has_room(xbp, rc)) {
1025 left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
1026 rc = vsnprintf(xbp->xb_curp, left, fmt, va_local);
1032 xbp->xb_curp += rc;
1199 xo_buf_append_locale_from_utf8 (xo_handle_t *xop, xo_buffer_t *xbp,
1217 if (!xo_buf_has_room(xbp, ilen))
1220 memcpy(xbp->xb_curp, ibuf, ilen);
1221 xbp->xb_curp += ilen;
1224 if (!xo_buf_has_room(xbp, MB_LEN_MAX + 1))
1228 len = wcrtomb(xbp->xb_curp, wc, &xop->xo_mbstate);
1235 xbp->xb_curp += len;
1245 xo_buf_append_locale (xo_handle_t *xop, xo_buffer_t *xbp,
1249 ssize_t save_off = xbp->xb_bufp - xbp->xb_curp;
1268 xo_buf_append(xbp, sp, cp - sp); /* Append previous data */
1273 xbp->xb_curp = xbp->xb_bufp + save_off;
1277 cols += xo_buf_append_locale_from_utf8(xop, xbp, cp, slen);
1293 xo_buf_append(xbp, sp, len);
1540 xo_buffer_t *xbp = &xop->xo_data;
1542 xo_buf_append(xbp, err_open, sizeof(err_open) - 1);
1543 xo_buf_append(xbp, msg_open, sizeof(msg_open) - 1);
1548 ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
1549 ssize_t rc = vsnprintf(xbp->xb_curp, left, newfmt, vap);
1552 if (!xo_buf_has_room(xbp, rc)) {
1560 left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
1561 rc = vsnprintf(xbp->xb_curp, left, fmt, vap);
1566 rc = xo_escape_xml(xbp, rc, 1);
1567 xbp->xb_curp += rc;
1569 xo_buf_append(xbp, msg_close, sizeof(msg_close) - 1);
1570 xo_buf_append(xbp, err_close, sizeof(err_close) - 1);
1576 xo_buf_append(xbp, ": ", 2);
1577 xo_buf_append(xbp, msg, strlen(msg));
1581 xo_buf_append(xbp, "\n", 1); /* Append newline and NUL to string */
1684 xo_buffer_t *xbp;
1697 xbp = &xop->xo_data;
1700 xo_buf_append(xbp, msg_open, sizeof(msg_open) - 1);
1704 ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
1706 rc = vsnprintf(xbp->xb_curp, left, fmt, vap);
1708 if (!xo_buf_has_room(xbp, rc)) {
1716 left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
1717 rc = vsnprintf(xbp->xb_curp, left, fmt, vap);
1722 rc = xo_escape_xml(xbp, rc, 0);
1723 xbp->xb_curp += rc;
1729 xo_buf_append(xbp, ": ", 2);
1730 xo_buf_append(xbp, msg, strlen(msg));
1735 xo_buf_append(xbp, "\n", 1); /* Append newline and NUL to string */
1737 xo_buf_append(xbp, msg_close, sizeof(msg_close) - 1);
1740 xo_buf_append(xbp, "\n", 1); /* Append newline and NUL to string */
2690 xo_format_string_direct (xo_handle_t *xop, xo_buffer_t *xbp,
2703 if (len > 0 && !xo_buf_has_room(xbp, len))
2811 if (!xo_buf_has_room(xbp, slen - 1))
2814 memcpy(xbp->xb_curp, sp, slen);
2815 xbp->xb_curp += slen;
2822 if (!xo_buf_has_room(xbp, 2))
2825 *xbp->xb_curp++ = '\\';
2832 *xbp->xb_curp++ = wc;
2839 if (!xo_buf_has_room(xbp, 2))
2842 *xbp->xb_curp++ = '\\';
2844 *xbp->xb_curp++ = wc;
2854 if (!xo_buf_has_room(xbp, olen))
2857 xo_utf8_emit_char(xbp->xb_curp, olen, wc);
2858 xbp->xb_curp += olen;
2862 if (!xo_buf_has_room(xbp, MB_LEN_MAX + 1))
2865 olen = wcrtomb(xbp->xb_curp, wc, &xop->xo_mbstate);
2870 *xbp->xb_curp++ = '?';
2872 xbp->xb_curp += olen;
2896 xo_format_string (xo_handle_t *xop, xo_buffer_t *xbp, xo_xff_flags_t flags,
2906 ssize_t off = xbp->xb_curp - xbp->xb_bufp, off2;
2963 xo_buf_escape(xop, xbp, cp, len, flags);
2970 off2 = xbp->xb_curp - xbp->xb_bufp;
2972 xbp->xb_curp = xbp->xb_bufp + off;
2978 cols = xo_format_string_direct(xop, xbp, flags, wcp, cp, len,
2987 off2 = xbp->xb_curp - xbp->xb_bufp;
2989 xbp->xb_curp = xbp->xb_bufp + off;
2998 if (!xo_buf_has_room(xbp, xfp->xf_width[XF_WIDTH_MIN]))
3006 cp = xbp->xb_curp + rc;
3008 cp = xbp->xb_curp;
3009 memmove(xbp->xb_curp + delta, xbp->xb_curp, rc);
3026 xbp->xb_curp = xbp->xb_bufp + off;
3034 xo_buf_find_last_number (xo_buffer_t *xbp, ssize_t start_offset)
3038 char *sp = xbp->xb_bufp;
3153 xo_buffer_t *xbp = &xop->xo_data;
3155 if (!xo_buf_has_room(xbp, 1))
3158 xbp->xb_curp[0] = '\0'; /* NUL-terminate the input string */
3160 char *cp = xbp->xb_bufp + start_offset;
3161 ssize_t len = xbp->xb_curp - cp;
3169 int n = xo_buf_find_last_number(xbp, start_offset);
3182 if (two == xbp->xb_curp) {
3201 xbp->xb_curp = two - 1; /* One for comma */
3207 return xo_count_utf8_cols(cp, xbp->xb_curp - cp);
3229 xbp->xb_curp = xbp->xb_bufp + start_offset; /* Reset the buffer */
3230 return xo_format_string_direct(xop, xbp, flags, NULL, newcopy, nlen, 0,
3268 xo_trim_ws (xo_buffer_t *xbp, ssize_t len)
3274 for (cp = sp = xbp->xb_curp, ep = cp + len; cp < ep; cp++) {
3286 for (cp = xbp->xb_curp, sp = ep = cp + len; cp < ep; ep--) {
3302 * and the format is in 'fmt'. If 'xbp' is null, we use xop->xo_data;
3306 xo_do_format_field (xo_handle_t *xop, xo_buffer_t *xbp,
3322 if (xbp == NULL)
3323 xbp = &xop->xo_data;
3325 ssize_t start_offset = xo_buf_offset(xbp);
3349 cols = xo_format_string_direct(xop, xbp, flags | XFF_UNESCAPE,
3499 rc = xo_format_string(xop, xbp, flags, &xf);
3502 rc = xo_trim_ws(xbp, rc);
3505 ssize_t columns = rc = xo_vsnprintf(xop, xbp, newfmt,
3515 columns = rc = xo_trim_ws(xbp, rc);
3518 rc = xo_escape_xml(xbp, rc, (flags & XFF_ATTR));
3523 columns = rc = xo_trim_ws(xbp, rc);
3524 rc = xo_escape_json(xbp, rc, 0);
3529 columns = rc = xo_trim_ws(xbp, rc);
3530 rc = xo_escape_sdparams(xbp, rc, 0);
3535 columns = rc = xo_trim_ws(xbp, rc);
3552 xbp->xb_curp += rc;
3628 cols = xo_format_string_direct(xop, xbp, flags | XFF_UNESCAPE,
3689 xo_buffer_t *xbp = &xop->xo_color_buf;
3691 xo_data_append(xop, xbp->xb_bufp, xbp->xb_curp - xbp->xb_bufp);
3741 xo_format_humanize (xo_handle_t *xop, xo_buffer_t *xbp,
3747 ssize_t end_offset = xbp->xb_curp - xbp->xb_bufp;
3759 xo_buf_append(xbp, "", 1); /* NUL-terminate it */
3761 value = strtoull(xbp->xb_bufp + savep->xhs_offset, &ep, 0);
3763 && (ep != xbp->xb_bufp + savep->xhs_offset)) {
3769 if (xo_buf_has_room(xbp, 10)) {
3770 xbp->xb_curp = xbp->xb_bufp + savep->xhs_offset;
3773 ssize_t left = (xbp->xb_bufp + xbp->xb_size) - xbp->xb_curp;
3785 rc = xo_humanize(xbp->xb_curp, left, value, hn_flags);
3787 xbp->xb_curp += rc;
3924 xo_buffer_t *xbp = &xop->xo_color_buf;
3926 xo_data_append(xop, xbp->xb_bufp, xbp->xb_curp - xbp->xb_bufp);
4004 xo_buffer_t *xbp = &xop->xo_data;
4005 ssize_t base_offset = xbp->xb_curp - xbp->xb_bufp;
4011 save.xhs_offset = xbp->xb_curp - xbp->xb_bufp;
4025 ssize_t end_offset = xbp->xb_curp - xbp->xb_bufp;
4029 memcpy(cp, xbp->xb_bufp + save.xhs_offset, olen);
4032 xo_format_humanize(xop, xbp, &save, flags);
4034 if (xo_buf_has_room(xbp, div_len + olen)) {
4035 ssize_t new_offset = xbp->xb_curp - xbp->xb_bufp;
4039 memmove(xbp->xb_bufp + base_offset + div_len + olen,
4040 xbp->xb_bufp + base_offset, new_offset - base_offset);
4043 memcpy(xbp->xb_bufp + base_offset, div_number, div_len);
4046 memcpy(xbp->xb_bufp + base_offset + div_len, cp, olen);
4047 xbp->xb_curp += div_len + olen;
4101 xo_buffer_t *xbp = &xop->xo_data;
4102 ssize_t start = xbp->xb_curp - xbp->xb_bufp;
4103 ssize_t left = xbp->xb_size - start;
4115 start = xbp->xb_curp - xbp->xb_bufp; /* Reset start */
4143 rc = snprintf(xbp->xb_curp, left, newfmt, newstr);
4145 if (!xo_buf_has_room(xbp, rc))
4147 left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
4148 rc = snprintf(xbp->xb_curp, left, newfmt, newstr);
4163 rc = xbp->xb_curp - (xbp->xb_bufp + start);
4164 xbp->xb_curp = xbp->xb_bufp + start;
4169 rc = xo_escape_xml(xbp, rc, 0);
4173 xbp->xb_curp += rc;
4337 xo_buffer_t *xbp = &xop->xo_data;
4345 save.xhs_offset = xbp->xb_curp - xbp->xb_bufp;
4352 xo_format_humanize(xop, xbp, &save, flags);
4486 xbp = &xop->xo_data;
4487 ssize_t off = xbp->xb_curp - xbp->xb_bufp;
4492 ssize_t coff = xbp->xb_curp - xbp->xb_bufp;
4494 if (xbp->xb_bufp[off] == '-')
4495 xbp->xb_bufp[off] = '_';
4940 xo_buffer_t *xbp = &xop->xo_color_buf;
4942 xo_buf_reset(xbp); /* We rebuild content after each change */
4948 xo_buf_append_str(xbp, " effect-");
4949 xo_buf_append_str(xbp, xo_effect_names[i]);
4972 xo_buf_append_str(xbp, " color-fg-");
4973 xo_buf_append_str(xbp, fg);
4977 xo_buf_append_str(xbp, " color-bg-");
4978 xo_buf_append_str(xbp, bg);
5072 xo_buffer_t *xbp = &xop->xo_data;
5074 ssize_t stop = xbp->xb_curp - xbp->xb_bufp;
5077 xo_buf_append(xbp, units_start_xml, sizeof(units_start_xml) - 1);
5079 xo_buf_append(xbp, units_start_html, sizeof(units_start_html) - 1);
5088 xo_buf_append(xbp, "\"", 1);
5090 ssize_t now = xbp->xb_curp - xbp->xb_bufp;
5093 xbp->xb_curp = xbp->xb_bufp + stop; /* Reset buffer to prior state */
5105 memcpy(buf, xbp->xb_bufp + stop, delta);
5106 memmove(xbp->xb_bufp + start + delta, xbp->xb_bufp + start, stop - start);
5107 memmove(xbp->xb_bufp + start, buf, delta);
5154 xo_buffer_t *xbp = &xop->xo_data;
5155 ssize_t start_offset = xo_buf_offset(xbp);
5156 bp = xo_buf_cur(xbp); /* Save start of the string */
5164 ssize_t rc = xo_do_format_field(xop, xbp, fmt, flen, 0);
5166 xo_buf_append(xbp, "", 1); /* Append a NUL */
5177 xbp->xb_curp = xbp->xb_bufp + start_offset;
5211 xo_buffer_t *xbp = &xop->xo_data;
5212 xop->xo_anchor_offset = xbp->xb_curp - xbp->xb_bufp;
5240 xo_buffer_t *xbp = &xop->xo_data;
5242 ssize_t stop = xbp->xb_curp - xbp->xb_bufp;
5263 ssize_t now = xbp->xb_curp - xbp->xb_bufp;
5278 memcpy(buf, xbp->xb_bufp + stop, delta);
5279 memmove(xbp->xb_bufp + start + delta, xbp->xb_bufp + start, stop - start);
5280 memmove(xbp->xb_bufp + start, buf, delta);
5864 xo_buffer_t *xbp,
5892 xo_buf_append(xbp, "\n", 1);
5896 xo_buf_append(xbp, "{", 1);
5897 xo_buf_append(xbp, xfip->xfi_content, xfip->xfi_clen);
5898 xo_buf_append(xbp, "}", 1);
5902 xo_buf_append(xbp, xfip->xfi_content, xfip->xfi_clen);
5906 xo_buf_append(xbp, "{", 1);
5909 xo_buf_append(xbp, &ch, 1);
5917 xo_buf_append(xbp, num, strlen(num));
5920 xo_buf_append(xbp, ":", 1);
5921 xo_buf_append(xbp, xfip->xfi_content, xfip->xfi_clen);
5922 xo_buf_append(xbp, "}", 1);
5926 xo_buf_append(xbp, "", 1);
6177 xo_buffer_t *xbp = &xop->xo_data;
6186 memcpy(buf, xbp->xb_bufp + fstart[min_fstart], blen); /* Copy our data */
6212 memcpy(xbp->xb_bufp + doff, buf + soff, len);
6731 xo_buffer_t *xbp = &xop->xo_attrs;
6736 if (!xo_buf_has_room(xbp, nlen + extra))
6739 *xbp->xb_curp++ = ' ';
6740 memcpy(xbp->xb_curp, name, nlen);
6741 xbp->xb_curp += nlen;
6742 *xbp->xb_curp++ = '=';
6743 *xbp->xb_curp++ = '"';
6745 rc = xo_vsnprintf(xop, xbp, fmt, vap);
6748 rc = xo_escape_xml(xbp, rc, 1);
6749 xbp->xb_curp += rc;
6752 if (!xo_buf_has_room(xbp, 2))
6755 *xbp->xb_curp++ = '"';
6756 *xbp->xb_curp = '\0';
6762 name_offset = xo_buf_offset(xbp);
6763 xo_buf_append(xbp, name, nlen);
6764 xo_buf_append(xbp, "", 1);
6766 value_offset = xo_buf_offset(xbp);
6767 rc = xo_vsnprintf(xop, xbp, fmt, vap);
6769 xbp->xb_curp += rc;
6770 *xbp->xb_curp = '\0';
6772 xo_buf_data(xbp, name_offset),
6773 xo_buf_data(xbp, value_offset), 0);