std::string render (std::string const& layout) { std::string s = render_int (layout, "@<ncclass@>", cclass.size () / 8); s = render_int (s, "@<nlookup@>", cclass.size ()); s = render_int (s, "@<nbase@>", base.size ()); s = render_int (s, "@<ncheck@>", check.size ()); s = render_cclass (s, "@<cclass@>\n", cclass); s = render_vector_dec (s, "@<base@>\n", base); s = render_vector_hex (s, "@<check@>\n", check); s = render_int (s, "@<match@>", MATCH); return std::move (s); }
static int any_ro_INT(TBUFF **rp, const char *vp, int value) { if (rp) { render_int(rp, value); return TRUE; } else if (vp) { return ABORT; /* read-only */ } else { return FALSE; } }
static int any_rw_INT(TBUFF **rp, const char *vp, int *value) { if (rp) { render_int(rp, *value); return TRUE; } else if (vp) { *value = scan_int(vp); return TRUE; } else { return FALSE; } }
int var_CHAR(TBUFF **rp, const char *vp) { int status = FALSE; if (rp) { if (valid_buffer(curbp) && !is_empty_buf(curbp)) { render_int(rp, CharAtDot()); } else { tb_scopy(rp, error_val); } status = TRUE; } else if (vp) { if ((status = check_editable(curbp)) == TRUE) { int c; mayneedundo(); (void) ldel_chars(1L, FALSE); /* delete 1 char */ c = scan_int(vp); if ((status = bputc(c)) == TRUE) (void) backchar(FALSE, 1); } } return status; }