Пример #1
0
 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);
 }
Пример #2
0
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;
    }
}
Пример #3
0
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;
    }
}
Пример #4
0
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;
}