/** * Converts a single virtual brace into a brace */ static void convert_vbrace(chunk_t *vbr) { if (vbr == NULL) { return; } else if (vbr->type == CT_VBRACE_OPEN) { vbr->type = CT_BRACE_OPEN; vbr->len = 1; vbr->str = "{"; /* If the next chunk is a preprocessor, then move the open brace after the * preprocessor. */ chunk_t *tmp = chunk_get_next(vbr); if ((tmp != NULL) && (tmp->type == CT_PREPROC)) { tmp = chunk_get_next(vbr, CNAV_PREPROC); chunk_move_after(vbr, tmp); newline_add_after(vbr); } } else if (vbr->type == CT_VBRACE_CLOSE) { vbr->type = CT_BRACE_CLOSE; vbr->len = 1; vbr->str = "}"; /* If the next chunk is a comment, followed by a newline, then * move the brace after the newline and add another newline after * the close brace. */ chunk_t *tmp = chunk_get_next(vbr); if (chunk_is_comment(tmp)) { tmp = chunk_get_next(tmp); if (chunk_is_newline(tmp)) { chunk_move_after(vbr, tmp); newline_add_after(vbr); } } } }
static void add_file_footer() { chunk_t *pc = chunk_get_tail(); /* Back up if the file ends with a newline */ if ((pc != NULL) && chunk_is_newline(pc)) { pc = chunk_get_prev(pc); } if ((pc != NULL) && (!chunk_is_comment(pc) || !chunk_is_newline(chunk_get_prev(pc)))) { pc = chunk_get_tail(); if (!chunk_is_newline(pc)) { LOG_FMT(LSYS, "Adding a newline at the end of the file\n"); newline_add_after(pc); } tokenize(cpd.file_ftr.data, NULL); } }