# # # patch "simplestring_xform.cc" # from [689a23c4dc2ed9414812695bd69a7d88e6cb950f] # to [3e052a16b5e80bbc6d44580577879566ff284188] # # patch "simplestring_xform.hh" # from [ae3cc88bb0b86f43977cfe5df9da810e3919006c] # to [665f3f66eafbcaed9598620630695b2af614d709] # ============================================================ --- simplestring_xform.cc 689a23c4dc2ed9414812695bd69a7d88e6cb950f +++ simplestring_xform.cc 3e052a16b5e80bbc6d44580577879566ff284188 @@ -229,6 +229,9 @@ UNIT_TEST(simplestring_xform, join_words set< utf8 > s; v.clear(); + BOOST_CHECK(join_words(v)() == ""); + + v.clear(); v.push_back(utf8("a")); BOOST_CHECK(join_words(v)() == "a"); BOOST_CHECK(join_words(v, ", ")() == "a"); ============================================================ --- simplestring_xform.hh ae3cc88bb0b86f43977cfe5df9da810e3919006c +++ simplestring_xform.hh 665f3f66eafbcaed9598620630695b2af614d709 @@ -51,13 +51,11 @@ T2 join_words(T1< T2 > const & in, std:: { std::string str; typename T1< T2 >::const_iterator iter = in.begin(); - for (;;) + while (iter != in.end()) { str += (*iter)(); iter++; - if (iter == in.end()) - break; - else + if (iter != in.end()) str += sep; } return T2(str);