X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fdoc_extract-core.c;h=74643a04b994b61487f63cf7ba9786b37622d238;hp=8695a7e16fa2e2437c1ca1671b2eada3134f2b76;hb=cf4e2150325ebab7798c23110d80ff52467b4fc7;hpb=6fb1663de7c1650a20bae6ca4e496e5a04130b41 diff --git a/tools/doc_extract-core.c b/tools/doc_extract-core.c index 8695a7e1..74643a04 100644 --- a/tools/doc_extract-core.c +++ b/tools/doc_extract-core.c @@ -165,6 +165,7 @@ static void add_detabbed_line(struct doc_section *curr, const char *rawline) static void trim_lines(struct doc_section *curr) { unsigned int i, trim = -1; + int last_non_empty = -1; /* Get minimum whitespace prefix. */ for (i = 0; i < curr->num_lines; i++) { @@ -183,7 +184,14 @@ static void trim_lines(struct doc_section *curr) curr->lines[i] += prefix; else curr->lines[i] += trim; + + /* All blank? Potential to trim. */ + if (curr->lines[i][strspn(curr->lines[i], " \t")] != '\0') + last_non_empty = i; } + + /* Remove trailing blank lines. */ + curr->num_lines = last_non_empty + 1; } struct list_head *extract_doc_sections(char **rawlines)