Merge branch 'obsd-master'

pull/1644/head
Thomas Adam 2019-03-20 08:02:38 +00:00
commit bff957a475
1 changed files with 15 additions and 5 deletions

View File

@ -527,6 +527,7 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
style_set(&sy, base);
TAILQ_INIT(&frs);
log_debug("%s: %s", __func__, expanded);
/*
* We build three screens for left, right, centre alignment, one for
@ -574,14 +575,22 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
/* This is a style. Work out where the end is and parse it. */
end = format_skip(cp + 2, "]");
if (end == NULL)
return;
if (end == NULL) {
log_debug("%s: no terminating ] at '%s'", __func__,
cp + 2);
TAILQ_FOREACH_SAFE(fr, &frs, entry, fr1)
format_free_range(&frs, fr);
goto out;
}
tmp = xstrndup(cp + 2, end - (cp + 2));
if (style_parse(&sy, base, tmp) != 0) {
log_debug("%s: invalid style '%s'", __func__, tmp);
free(tmp);
return;
cp = end + 1;
continue;
}
log_debug("style '%s' -> '%s'", tmp, style_tostring(&sy));
log_debug("%s: style '%s' -> '%s'", __func__, tmp,
style_tostring(&sy));
free(tmp);
/* Check the list state. */
@ -699,7 +708,7 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
log_debug("%s: width %s is %u", __func__, names[i], width[i]);
}
if (focus_start != -1 && focus_end != -1)
log_debug("focus is %d-%d", focus_start, focus_end);
log_debug("%s: focus %d-%d", __func__, focus_start, focus_end);
TAILQ_FOREACH(fr, &frs, entry) {
log_debug("%s: range %d|%u is %s %u-%u", __func__, fr->type,
fr->argument, names[fr->index], fr->start, fr->end);
@ -750,6 +759,7 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
format_free_range(&frs, fr);
}
out:
/* Free the screens. */
for (i = 0; i < TOTAL; i++)
screen_free(&s[i]);