# # # patch "asciik.cc" # from [e9ec7a3639a1f1bcfa17c8505331316207de8c51] # to [8e21f6a34509b6c7d34d450ff6d0a5a3b013754b] # # patch "asciik.hh" # from [30f3de29f95bb4effb65ba39a5841858e3d4a005] # to [07def1afcb4982caa97392fa9e16a4d82513819d] # # patch "charset.cc" # from [8802db8fd1a3cc34d19c137832496fb9ec7b40f5] # to [9c6c3a5c79d7242e465c2695519d39f61d240982] # ============================================================ --- asciik.cc e9ec7a3639a1f1bcfa17c8505331316207de8c51 +++ asciik.cc 8e21f6a34509b6c7d34d450ff6d0a5a3b013754b @@ -143,13 +143,14 @@ static revision_id ghost; // valid but e static revision_id ghost; // valid but empty revision_id to be used as ghost value -asciik::asciik(size_t min_width, ostream & os) : width(min_width), output(os) +asciik::asciik(size_t min_width, ostream & os) + : width(min_width), output(os) { } void -asciik::links_cross(const set > & links, - set & crosses) const +asciik::links_cross(set > const & links, + set & crosses) const { for (set >::const_iterator link = links.begin(); link != links.end(); ++link) @@ -163,9 +164,12 @@ void } void -asciik::draw(const size_t curr_items, const size_t next_items, - const size_t curr_loc, const set > & links, - const set & curr_ghosts, const string & annotation) const +asciik::draw(size_t const curr_items, + size_t const next_items, + size_t const curr_loc, + set > const & links, + set const & curr_ghosts, + string const & annotation) const { size_t line_len = max(width, max(curr_items, next_items) * 2); string line(line_len, ' '); // actual len: curr_items * 2 - 1 @@ -186,11 +190,13 @@ asciik::draw(const size_t curr_items, co for (set >::const_iterator link = links.begin(); link != links.end(); ++link) { - size_t i = link->first, j = link->second, start, end, dot; + size_t i = link->first; + size_t j = link->second; if (i == j) interline[2 * i] = '|'; - else + else { + size_t start, end, dot; if (j < i) { // | .---o @@ -259,8 +265,10 @@ bool } bool -asciik::try_draw(const vector & next_row, const size_t curr_loc, - const set & parents, const string & annotation) const +asciik::try_draw(vector const & next_row, + size_t const curr_loc, + set const & parents, + string const & annotation) const { size_t curr_items = curr_row.size(); size_t next_items = next_row.size(); @@ -325,8 +333,9 @@ void } void -asciik::print(const revision_id & rev, const set & parents, - const string & annotation) +asciik::print(revision_id const & rev, + set const & parents, + string const & annotation) { if (find(curr_row.begin(), curr_row.end(), rev) == curr_row.end()) curr_row.push_back(rev); ============================================================ --- asciik.hh 30f3de29f95bb4effb65ba39a5841858e3d4a005 +++ asciik.hh 07def1afcb4982caa97392fa9e16a4d82513819d @@ -21,14 +21,14 @@ private: private: void links_cross(std::set > const & links, std::set & crosses) const; - void draw(size_t curr_items, - size_t next_items, - size_t curr_loc, + void draw(size_t const curr_items, + size_t const next_items, + size_t const curr_loc, std::set > const & links, std::set const & curr_ghosts, std::string const & annotation) const; bool try_draw(std::vector const & next_row, - size_t curr_loc, + size_t const curr_loc, std::set const & parents, std::string const & annotation) const; // internal state ============================================================ --- charset.cc 8802db8fd1a3cc34d19c137832496fb9ec7b40f5 +++ charset.cc 9c6c3a5c79d7242e465c2695519d39f61d240982 @@ -38,24 +38,24 @@ charset_convert(string const & src_chars void charset_convert(string const & src_charset, - string const & dst_charset, - string const & src, - string & dst, - bool best_effort) + string const & dst_charset, + string const & src, + string & dst, + bool best_effort) { if (src_charset == dst_charset) dst = src; else { - string dst_charset_real(dst_charset); + string dest_charset_real(dst_charset); if (best_effort) - dst_charset_real += "//IGNORE//TRANSLIT"; + dest_charset_real += "//IGNORE//TRANSLIT"; char * converted = stringprep_convert(src.c_str(), - dst_charset_real.c_str(), - src_charset.c_str()); + dest_charset_real.c_str(), + src_charset.c_str()); E(converted != NULL, - F("failed to convert string from %s to %s: '%s'") - % src_charset % dst_charset % src); + F("failed to convert string from %s to %s: '%s'") + % src_charset % dst_charset % src); dst = string(converted); free(converted); } @@ -70,21 +70,21 @@ display_width(utf8 const & utf) while (i != u.end()) { if (UNLIKELY(static_cast(*i) & static_cast(0x80))) - { - // A UTF-8 escape: consume the full escape. - ++i; - ++sz; - while (i != u.end() - && (static_cast(*i) & static_cast(0x80)) - && (!(static_cast(*i) & static_cast(0x40)))) - ++i; - } + { + // A UTF-8 escape: consume the full escape. + ++i; + ++sz; + while (i != u.end() + && (static_cast(*i) & static_cast(0x80)) + && (!(static_cast(*i) & static_cast(0x40)))) + ++i; + } else - { - // An ASCII-like character in the range 0..0x7F. - ++i; - ++sz; - } + { + // An ASCII-like character in the range 0..0x7F. + ++i; + ++sz; + } } return sz; } @@ -98,8 +98,8 @@ system_charset_is_utf8_impl() { string lc_encoding = lowercase(system_charset()); return (lc_encoding == "utf-8" - || lc_encoding == "utf_8" - || lc_encoding == "utf8"); + || lc_encoding == "utf_8" + || lc_encoding == "utf8"); } static inline bool @@ -118,14 +118,14 @@ system_charset_is_ascii_extension_impl() // if your character set is identical to ascii in the lower 7 bits, then add // it here for a speed boost. return (lc_encoding.find("ascii") != string::npos - || lc_encoding.find("8859") != string::npos - || lc_encoding.find("ansi_x3.4") != string::npos - || lc_encoding == "646" // another name for ascii - // http://www.cs.mcgill.ca/~aelias4/encodings.html -- "EUC (Extended - // Unix Code) is a simple and clean encoding, standard on Unix - // systems.... It is backwards-compatible with ASCII (i.e. valid - // ASCII implies valid EUC)." - || lc_encoding.find("euc") != string::npos); + || lc_encoding.find("8859") != string::npos + || lc_encoding.find("ansi_x3.4") != string::npos + || lc_encoding == "646" // another name for ascii + // http://www.cs.mcgill.ca/~aelias4/encodings.html -- "EUC (Extended + // Unix Code) is a simple and clean encoding, standard on Unix + // systems.... It is backwards-compatible with ASCII (i.e. valid + // ASCII implies valid EUC)." + || lc_encoding.find("euc") != string::npos); } static inline bool @@ -153,7 +153,7 @@ utf8_to_system_strict(utf8 const & utf, if (system_charset_is_utf8()) ext = utf(); else if (system_charset_is_ascii_extension() - && is_all_ascii(utf())) + && is_all_ascii(utf())) ext = utf(); else charset_convert("UTF-8", system_charset(), utf(), ext, false); @@ -166,7 +166,7 @@ utf8_to_system_best_effort(utf8 const & if (system_charset_is_utf8()) ext = utf(); else if (system_charset_is_ascii_extension() - && is_all_ascii(utf())) + && is_all_ascii(utf())) ext = utf(); else charset_convert("UTF-8", system_charset(), utf(), ext, true); @@ -194,7 +194,7 @@ system_to_utf8(external const & ext, utf if (system_charset_is_utf8()) utf = utf8(ext()); else if (system_charset_is_ascii_extension() - && is_all_ascii(ext())) + && is_all_ascii(ext())) utf = utf8(ext()); else { @@ -213,9 +213,9 @@ is_valid_unicode_char(u32 c) is_valid_unicode_char(u32 c) { return (c < 0x110000 && - ((c & 0xfffff800) != 0xd800) && - (c < 0xfdd0 || c > 0xfdef) && - (c & 0xfffe) != 0xfffe); + ((c & 0xfffff800) != 0xd800) && + (c < 0xfdd0 || c > 0xfdef) && + (c & 0xfffe) != 0xfffe); } static bool @@ -243,46 +243,46 @@ utf8_validate(utf8 const & utf) if ((c & 0xe0) == 0xc0) { if (left < 2) - return false; + return false; if ((c & 0x1e) == 0) - return false; + return false; ++i; --left; c = *i; if ((c & 0xc0) != 0x80) - return false; + return false; } else { if ((c & 0xf0) == 0xe0) { - if (left < 3) - return false; - min = 1 << 11; - val = c & 0x0f; - goto two_remaining; + if (left < 3) + return false; + min = 1 << 11; + val = c & 0x0f; + goto two_remaining; } else if ((c & 0xf8) == 0xf0) { - if (left < 4) - return false; - min = 1 << 16; - val = c & 0x07; + if (left < 4) + return false; + min = 1 << 16; + val = c & 0x07; } else - return false; + return false; ++i; --left; c = *i; if (!utf8_consume_continuation_char(c, val)) - return false; + return false; two_remaining: ++i; --left; c = *i; if (!utf8_consume_continuation_char(c, val)) - return false; + return false; ++i; --left; c = *i; if (!utf8_consume_continuation_char(c, val)) - return false; + return false; if (val < min) - return false; + return false; if (!is_valid_unicode_char(val)) - return false; + return false; } } return true; @@ -364,15 +364,15 @@ internalize_rsa_keypair_id(utf8 const & for(tokenizer::iterator i = tokens.begin(); i != tokens.end(); ++i) { if (!in_domain || *i == "." || *i == "@") - tmp += *i; + tmp += *i; else - { - ace a; - utf8_to_ace(utf8(*i), a); - tmp += a(); - } + { + ace a; + utf8_to_ace(utf8(*i), a); + tmp += a(); + } if (*i == "@") - in_domain = true; + in_domain = true; } key = rsa_keypair_id(tmp); } @@ -397,16 +397,16 @@ externalize_rsa_keypair_id(rsa_keypair_i for(tokenizer::iterator i = tokens.begin(); i != tokens.end(); ++i) { if (!in_domain || *i == "." || *i == "@") - tmp += *i; + tmp += *i; else - { - ace a(*i); - utf8 u; - ace_to_utf8(a, u); - tmp += u(); - } + { + ace a(*i); + utf8 u; + ace_to_utf8(a, u); + tmp += u(); + } if (*i == "@") - in_domain = true; + in_domain = true; } utf = utf8(tmp); } @@ -473,129 +473,129 @@ idna { "Arabic (Egyptian)", 17, { - 0x0644, 0x064A, 0x0647, 0x0645, 0x0627, 0x0628, 0x062A, 0x0643, - 0x0644, 0x0645, 0x0648, 0x0634, 0x0639, 0x0631, 0x0628, 0x064A, - 0x061F}, + 0x0644, 0x064A, 0x0647, 0x0645, 0x0627, 0x0628, 0x062A, 0x0643, + 0x0644, 0x0645, 0x0648, 0x0634, 0x0639, 0x0631, 0x0628, 0x064A, + 0x061F}, IDNA_ACE_PREFIX "egbpdaj6bu4bxfgehfvwxn", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Chinese (simplified)", 9, { - 0x4ED6, 0x4EEC, 0x4E3A, 0x4EC0, 0x4E48, 0x4E0D, 0x8BF4, 0x4E2D, 0x6587}, + 0x4ED6, 0x4EEC, 0x4E3A, 0x4EC0, 0x4E48, 0x4E0D, 0x8BF4, 0x4E2D, 0x6587}, IDNA_ACE_PREFIX "ihqwcrb4cv8a8dqg056pqjye", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Chinese (traditional)", 9, { - 0x4ED6, 0x5011, 0x7232, 0x4EC0, 0x9EBD, 0x4E0D, 0x8AAA, 0x4E2D, 0x6587}, + 0x4ED6, 0x5011, 0x7232, 0x4EC0, 0x9EBD, 0x4E0D, 0x8AAA, 0x4E2D, 0x6587}, IDNA_ACE_PREFIX "ihqwctvzc91f659drss3x8bo0yb", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Czech", 22, { - 0x0050, 0x0072, 0x006F, 0x010D, 0x0070, 0x0072, 0x006F, 0x0073, - 0x0074, 0x011B, 0x006E, 0x0065, 0x006D, 0x006C, 0x0075, 0x0076, - 0x00ED, 0x010D, 0x0065, 0x0073, 0x006B, 0x0079}, + 0x0050, 0x0072, 0x006F, 0x010D, 0x0070, 0x0072, 0x006F, 0x0073, + 0x0074, 0x011B, 0x006E, 0x0065, 0x006D, 0x006C, 0x0075, 0x0076, + 0x00ED, 0x010D, 0x0065, 0x0073, 0x006B, 0x0079}, IDNA_ACE_PREFIX "Proprostnemluvesky-uyb24dma41a", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Hebrew", 22, { - 0x05DC, 0x05DE, 0x05D4, 0x05D4, 0x05DD, 0x05E4, 0x05E9, 0x05D5, - 0x05D8, 0x05DC, 0x05D0, 0x05DE, 0x05D3, 0x05D1, 0x05E8, 0x05D9, - 0x05DD, 0x05E2, 0x05D1, 0x05E8, 0x05D9, 0x05EA}, + 0x05DC, 0x05DE, 0x05D4, 0x05D4, 0x05DD, 0x05E4, 0x05E9, 0x05D5, + 0x05D8, 0x05DC, 0x05D0, 0x05DE, 0x05D3, 0x05D1, 0x05E8, 0x05D9, + 0x05DD, 0x05E2, 0x05D1, 0x05E8, 0x05D9, 0x05EA}, IDNA_ACE_PREFIX "4dbcagdahymbxekheh6e0a7fei0b", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Hindi (Devanagari)", 30, { - 0x092F, 0x0939, 0x0932, 0x094B, 0x0917, 0x0939, 0x093F, 0x0928, - 0x094D, 0x0926, 0x0940, 0x0915, 0x094D, 0x092F, 0x094B, 0x0902, - 0x0928, 0x0939, 0x0940, 0x0902, 0x092C, 0x094B, 0x0932, 0x0938, - 0x0915, 0x0924, 0x0947, 0x0939, 0x0948, 0x0902}, + 0x092F, 0x0939, 0x0932, 0x094B, 0x0917, 0x0939, 0x093F, 0x0928, + 0x094D, 0x0926, 0x0940, 0x0915, 0x094D, 0x092F, 0x094B, 0x0902, + 0x0928, 0x0939, 0x0940, 0x0902, 0x092C, 0x094B, 0x0932, 0x0938, + 0x0915, 0x0924, 0x0947, 0x0939, 0x0948, 0x0902}, IDNA_ACE_PREFIX "i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cd", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese (kanji and hiragana)", 18, { - 0x306A, 0x305C, 0x307F, 0x3093, 0x306A, 0x65E5, 0x672C, 0x8A9E, - 0x3092, 0x8A71, 0x3057, 0x3066, 0x304F, 0x308C, 0x306A, 0x3044, - 0x306E, 0x304B}, + 0x306A, 0x305C, 0x307F, 0x3093, 0x306A, 0x65E5, 0x672C, 0x8A9E, + 0x3092, 0x8A71, 0x3057, 0x3066, 0x304F, 0x308C, 0x306A, 0x3044, + 0x306E, 0x304B}, IDNA_ACE_PREFIX "n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxa", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Russian (Cyrillic)", 28, { - 0x043F, 0x043E, 0x0447, 0x0435, 0x043C, 0x0443, 0x0436, 0x0435, - 0x043E, 0x043D, 0x0438, 0x043D, 0x0435, 0x0433, 0x043E, 0x0432, - 0x043E, 0x0440, 0x044F, 0x0442, 0x043F, 0x043E, 0x0440, 0x0443, - 0x0441, 0x0441, 0x043A, 0x0438}, + 0x043F, 0x043E, 0x0447, 0x0435, 0x043C, 0x0443, 0x0436, 0x0435, + 0x043E, 0x043D, 0x0438, 0x043D, 0x0435, 0x0433, 0x043E, 0x0432, + 0x043E, 0x0440, 0x044F, 0x0442, 0x043F, 0x043E, 0x0440, 0x0443, + 0x0441, 0x0441, 0x043A, 0x0438}, IDNA_ACE_PREFIX "b1abfaaepdrnnbgefbadotcwatmq2g4l", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Spanish", 40, { - 0x0050, 0x006F, 0x0072, 0x0071, 0x0075, 0x00E9, 0x006E, 0x006F, - 0x0070, 0x0075, 0x0065, 0x0064, 0x0065, 0x006E, 0x0073, 0x0069, - 0x006D, 0x0070, 0x006C, 0x0065, 0x006D, 0x0065, 0x006E, 0x0074, - 0x0065, 0x0068, 0x0061, 0x0062, 0x006C, 0x0061, 0x0072, 0x0065, - 0x006E, 0x0045, 0x0073, 0x0070, 0x0061, 0x00F1, 0x006F, 0x006C}, + 0x0050, 0x006F, 0x0072, 0x0071, 0x0075, 0x00E9, 0x006E, 0x006F, + 0x0070, 0x0075, 0x0065, 0x0064, 0x0065, 0x006E, 0x0073, 0x0069, + 0x006D, 0x0070, 0x006C, 0x0065, 0x006D, 0x0065, 0x006E, 0x0074, + 0x0065, 0x0068, 0x0061, 0x0062, 0x006C, 0x0061, 0x0072, 0x0065, + 0x006E, 0x0045, 0x0073, 0x0070, 0x0061, 0x00F1, 0x006F, 0x006C}, IDNA_ACE_PREFIX "PorqunopuedensimplementehablarenEspaol-fmd56a", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Vietnamese", 31, { - 0x0054, 0x1EA1, 0x0069, 0x0073, 0x0061, 0x006F, 0x0068, 0x1ECD, - 0x006B, 0x0068, 0x00F4, 0x006E, 0x0067, 0x0074, 0x0068, 0x1EC3, - 0x0063, 0x0068, 0x1EC9, 0x006E, 0x00F3, 0x0069, 0x0074, 0x0069, - 0x1EBF, 0x006E, 0x0067, 0x0056, 0x0069, 0x1EC7, 0x0074}, + 0x0054, 0x1EA1, 0x0069, 0x0073, 0x0061, 0x006F, 0x0068, 0x1ECD, + 0x006B, 0x0068, 0x00F4, 0x006E, 0x0067, 0x0074, 0x0068, 0x1EC3, + 0x0063, 0x0068, 0x1EC9, 0x006E, 0x00F3, 0x0069, 0x0074, 0x0069, + 0x1EBF, 0x006E, 0x0067, 0x0056, 0x0069, 0x1EC7, 0x0074}, IDNA_ACE_PREFIX "TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9g", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese", 8, { - 0x0033, 0x5E74, 0x0042, 0x7D44, 0x91D1, 0x516B, 0x5148, 0x751F}, + 0x0033, 0x5E74, 0x0042, 0x7D44, 0x91D1, 0x516B, 0x5148, 0x751F}, IDNA_ACE_PREFIX "3B-ww4c5e180e575a65lsy2b", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese", 24, { - 0x5B89, 0x5BA4, 0x5948, 0x7F8E, 0x6075, 0x002D, 0x0077, 0x0069, - 0x0074, 0x0068, 0x002D, 0x0053, 0x0055, 0x0050, 0x0045, 0x0052, - 0x002D, 0x004D, 0x004F, 0x004E, 0x004B, 0x0045, 0x0059, 0x0053}, + 0x5B89, 0x5BA4, 0x5948, 0x7F8E, 0x6075, 0x002D, 0x0077, 0x0069, + 0x0074, 0x0068, 0x002D, 0x0053, 0x0055, 0x0050, 0x0045, 0x0052, + 0x002D, 0x004D, 0x004F, 0x004E, 0x004B, 0x0045, 0x0059, 0x0053}, IDNA_ACE_PREFIX "-with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese", 25, { - 0x0048, 0x0065, 0x006C, 0x006C, 0x006F, 0x002D, 0x0041, 0x006E, - 0x006F, 0x0074, 0x0068, 0x0065, 0x0072, 0x002D, 0x0057, 0x0061, - 0x0079, 0x002D, 0x305D, 0x308C, 0x305E, 0x308C, 0x306E, 0x5834, - 0x6240}, + 0x0048, 0x0065, 0x006C, 0x006C, 0x006F, 0x002D, 0x0041, 0x006E, + 0x006F, 0x0074, 0x0068, 0x0065, 0x0072, 0x002D, 0x0057, 0x0061, + 0x0079, 0x002D, 0x305D, 0x308C, 0x305E, 0x308C, 0x306E, 0x5834, + 0x6240}, IDNA_ACE_PREFIX "Hello-Another-Way--fc4qua05auwb3674vfr0b", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese", 8, { - 0x3072, 0x3068, 0x3064, 0x5C4B, 0x6839, 0x306E, 0x4E0B, 0x0032}, + 0x3072, 0x3068, 0x3064, 0x5C4B, 0x6839, 0x306E, 0x4E0B, 0x0032}, IDNA_ACE_PREFIX "2-u9tlzr9756bt3uc0v", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese", 13, { - 0x004D, 0x0061, 0x006A, 0x0069, 0x3067, 0x004B, 0x006F, 0x0069, - 0x3059, 0x308B, 0x0035, 0x79D2, 0x524D}, + 0x004D, 0x0061, 0x006A, 0x0069, 0x3067, 0x004B, 0x006F, 0x0069, + 0x3059, 0x308B, 0x0035, 0x79D2, 0x524D}, IDNA_ACE_PREFIX "MajiKoi5-783gue6qz075azm5e", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese", 9, { - 0x30D1, 0x30D5, 0x30A3, 0x30FC, 0x0064, 0x0065, 0x30EB, 0x30F3, 0x30D0}, + 0x30D1, 0x30D5, 0x30A3, 0x30FC, 0x0064, 0x0065, 0x30EB, 0x30F3, 0x30D0}, IDNA_ACE_PREFIX "de-jg4avhby1noc0d", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Japanese", 7, { - 0x305D, 0x306E, 0x30B9, 0x30D4, 0x30FC, 0x30C9, 0x3067}, + 0x305D, 0x306E, 0x30B9, 0x30D4, 0x30FC, 0x30C9, 0x3067}, IDNA_ACE_PREFIX "d9juau41awczczp", 0, 0, IDNA_SUCCESS, IDNA_SUCCESS}, { "Greek", 8, @@ -626,8 +626,8 @@ UNIT_TEST(charset, idna_encoding) size_t p, q; char *uc = stringprep_ucs4_to_utf8(idna_vec[i].in, - idna_vec[i].inlen, - &p, &q); + idna_vec[i].inlen, + &p, &q); utf8 utf = utf8(uc); utf8 tutf; free(uc);