Commit b93a741f authored by Dridi Boukelmoune's avatar Dridi Boukelmoune

vcc: Better format TOSTRANDS() C code

parent 7ead21cb
...@@ -148,6 +148,19 @@ vcc_delete_expr(struct expr *e) ...@@ -148,6 +148,19 @@ vcc_delete_expr(struct expr *e)
* XXX: check line lengths in edit, should pass indent in for this * XXX: check line lengths in edit, should pass indent in for this
*/ */
static void
vcc_strands_edit(struct expr *e1, struct expr *e2)
{
if (e2->nstr == 1) {
VSB_printf(e1->vsb, "TOSTRAND(%s)", VSB_data(e2->vsb));
return;
}
VSB_printf(e1->vsb, "TOSTRANDS(%d,\v+\n%s\v-)",
e2->nstr, VSB_data(e2->vsb));
}
static struct expr * static struct expr *
vcc_expr_edit(struct vcc *tl, vcc_type_t fmt, const char *p, struct expr *e1, vcc_expr_edit(struct vcc *tl, vcc_type_t fmt, const char *p, struct expr *e1,
struct expr *e2) struct expr *e2)
...@@ -179,9 +192,7 @@ vcc_expr_edit(struct vcc *tl, vcc_type_t fmt, const char *p, struct expr *e1, ...@@ -179,9 +192,7 @@ vcc_expr_edit(struct vcc *tl, vcc_type_t fmt, const char *p, struct expr *e1,
if (e3->nstr > 1) { if (e3->nstr > 1) {
VSB_cat(e->vsb, VSB_cat(e->vsb,
"\nVRT_STRANDS_string(ctx,\v+\n"); "\nVRT_STRANDS_string(ctx,\v+\n");
VSB_printf(e->vsb, vcc_strands_edit(e, e3);
"TOSTRANDS(%d,%s)",
e3->nstr, VSB_data(e3->vsb));
VSB_cat(e->vsb, VSB_cat(e->vsb,
"\v-\n)\n"); "\v-\n)\n");
} else { } else {
...@@ -192,8 +203,7 @@ vcc_expr_edit(struct vcc *tl, vcc_type_t fmt, const char *p, struct expr *e1, ...@@ -192,8 +203,7 @@ vcc_expr_edit(struct vcc *tl, vcc_type_t fmt, const char *p, struct expr *e1,
case 't': case 't':
e3 = (*p == 'T' ? e1 : e2); e3 = (*p == 'T' ? e1 : e2);
AN(e3); AN(e3);
VSB_printf(e->vsb, "TOSTRANDS(%d,%s)", vcc_strands_edit(e, e3);
e3->nstr, VSB_data(e3->vsb));
break; break;
case '1': case '1':
VSB_cat(e->vsb, VSB_data(e1->vsb)); VSB_cat(e->vsb, VSB_data(e1->vsb));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment