- while (last_level > section->level) {
- last_level--;
- fprintf(fp, "</ul>\n");
- }
- while (last_level < section->level) {
+ if (last_level > section->level) {
+ while (last_level > section->level) {
+ last_level--;
+ fprintf(fp, "</li></ul>\n");
+ }
+ fprintf(fp, "</li>\n");
+ } else if (last_level < section->level) {
+ assert(last_level == section->level - 1);