X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/blobdiff_plain/ba9c1487d811dccd55655fee8ca9a96856fa69f9..b80802bae4dfeae315236b136d6181198e84d4d7:/bk_text.c diff --git a/bk_text.c b/bk_text.c index fdb1055..359ea25 100644 --- a/bk_text.c +++ b/bk_text.c @@ -209,7 +209,7 @@ paragraph *text_config_filename(char *filename) } void text_backend(paragraph *sourceform, keywordlist *keywords, - indexdata *idx) { + indexdata *idx, void *unused) { paragraph *p; textconfig conf; word *prefix, *body, *wp; @@ -219,6 +219,7 @@ void text_backend(paragraph *sourceform, keywordlist *keywords, int nesting, nestindent; int indentb, indenta; + IGNORE(unused); IGNORE(keywords); /* we don't happen to need this */ IGNORE(idx); /* or this */ @@ -472,18 +473,20 @@ static void text_rdaddwc(rdstringc *rs, word *text, word *end) { } } -static int text_width(word *); +static int text_width(void *, word *); -static int text_width_list(word *text) { +static int text_width_list(void *ctx, word *text) { int w = 0; while (text) { - w += text_width(text); + w += text_width(ctx, text); text = text->next; } return w; } -static int text_width(word *text) { +static int text_width(void *ctx, word *text) { + IGNORE(ctx); + switch (text->type) { case word_HyperLink: case word_HyperEnd: @@ -504,7 +507,7 @@ static int text_width(word *text) { : 0) + (text_convert(text->text, NULL) ? ustrlen(text->text) : - text_width_list(text->alt))); + text_width_list(ctx, text->alt))); case word_WhiteSpace: case word_EmphSpace: @@ -560,7 +563,7 @@ static void text_heading(FILE *fp, word *tprefix, word *nprefix, word *text, wrapwidth = indent + width; } - wrapping = wrap_para(text, firstlinewidth, wrapwidth, text_width); + wrapping = wrap_para(text, firstlinewidth, wrapwidth, text_width, NULL, 0); for (p = wrapping; p; p = p->next) { text_rdaddwc(&t, p->begin, p->end); length = (t.text ? strlen(t.text) : 0); @@ -628,7 +631,7 @@ static void text_para(FILE *fp, word *prefix, char *prefixextra, word *text, } else e = indent + extraindent; - wrapping = wrap_para(text, firstlinewidth, width, text_width); + wrapping = wrap_para(text, firstlinewidth, width, text_width, NULL, 0); for (p = wrapping; p; p = p->next) { rdstringc t = { 0, 0, NULL }; text_rdaddwc(&t, p->begin, p->end);