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++) {
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)