# # # patch "asciik.cc" # from [e248fa3f38ac16b54618558bfa3ce48892484849] # to [b51df4f1c5bcf13bca771fbe589b135ce8f01796] # ============================================================ --- asciik.cc e248fa3f38ac16b54618558bfa3ce48892484849 +++ asciik.cc b51df4f1c5bcf13bca771fbe589b135ce8f01796 @@ -189,40 +189,41 @@ asciik::draw(const size_t curr_items, co size_t i = link->first, j = link->second, start, end, dot; if (i == j) interline[2 * i] = '|'; - else { - if (j < i) - { - // | .---o - // |/| | | - // 0 1 2 3 - // j i - // 0123456 - // s e - start = 2 * j + 3; - end = 2 * i; - dot = start - 1; - interline[dot - 1] = '/'; - } - else // j > i - { - // o---. - // | | |\| - // 0 1 2 3 - // i j - // 0123456 - // s e - start = 2 * i + 1; - end = 2 * j - 2; - dot = end; - interline[dot + 1] = '\\'; - } - if (end > start) - { - dots.insert(dot); - for (size_t l = start; l < end; ++l) - line[l] = '-'; - } - } + else + { + if (j < i) + { + // | .---o + // |/| | | + // 0 1 2 3 + // j i + // 0123456 + // s e + start = 2 * j + 3; + end = 2 * i; + dot = start - 1; + interline[dot - 1] = '/'; + } + else // j > i + { + // o---. + // | | |\| + // 0 1 2 3 + // i j + // 0123456 + // s e + start = 2 * i + 1; + end = 2 * j - 2; + dot = end; + interline[dot + 1] = '\\'; + } + if (end > start) + { + dots.insert(dot); + for (size_t l = start; l < end; ++l) + line[l] = '-'; + } + } // prepare the proper continuation line interline2[j * 2] = '|'; } @@ -272,21 +273,24 @@ asciik::try_draw(const vector > preservation_links; bool have_shift = false; - for (size_t i = 0; i < curr_items; ++i) { - if (idx(curr_row, i) != ghost) { - vector::const_iterator found = - find(next_row.begin(), next_row.end(), idx(curr_row, i)); - if (found != next_row.end()) { - size_t j = distance(next_row.begin(), found); - size_t d = abs(i - j); - if (d > 1) - return false; - if (d != 0) - have_shift = true; - preservation_links.insert(pair(i, j)); - } + for (size_t i = 0; i < curr_items; ++i) + { + if (idx(curr_row, i) != ghost) + { + vector::const_iterator found = + find(next_row.begin(), next_row.end(), idx(curr_row, i)); + if (found != next_row.end()) + { + size_t j = distance(next_row.begin(), found); + size_t d = abs(i - j); + if (d > 1) + return false; + if (d != 0) + have_shift = true; + preservation_links.insert(pair(i, j)); + } + } } - } set > parent_links; for (set::const_iterator p = parents.begin();