@@ -1629,8 +1629,8 @@ namespace Sass {
1629
1629
std::vector<std::string> l_miss_nums (0 );
1630
1630
std::vector<std::string> l_miss_dens (0 );
1631
1631
// create copy since we need these for state keeping
1632
- std::vector<std::string> r_nums = n.numerator_units_ ;
1633
- std::vector<std::string> r_dens = n.denominator_units_ ;
1632
+ std::vector<std::string> r_nums ( n.numerator_units_ ) ;
1633
+ std::vector<std::string> r_dens ( n.denominator_units_ ) ;
1634
1634
1635
1635
std::vector<std::string>::const_iterator l_num_it = numerator_units_.begin ();
1636
1636
std::vector<std::string>::const_iterator l_num_end = numerator_units_.end ();
@@ -1650,6 +1650,7 @@ namespace Sass {
1650
1650
std::vector<std::string>::iterator r_num_it = r_nums.begin ();
1651
1651
std::vector<std::string>::iterator r_num_end = r_nums.end ();
1652
1652
1653
+ bool found = false ;
1653
1654
// search for compatible numerator
1654
1655
while (r_num_it != r_num_end)
1655
1656
{
@@ -1666,14 +1667,13 @@ namespace Sass {
1666
1667
factor *= conversion;
1667
1668
// remove item from vector
1668
1669
r_nums.erase (r_num_it);
1669
- // found it
1670
+ // found numerator
1671
+ found = true ;
1670
1672
break ;
1671
1673
}
1672
1674
// maybe we did not find any
1673
- if (r_num_it == r_num_end) {
1674
- // left numerator is leftover
1675
- l_miss_nums.push_back (l_num);
1676
- }
1675
+ // left numerator is leftover
1676
+ if (!found) l_miss_nums.push_back (l_num);
1677
1677
}
1678
1678
1679
1679
std::vector<std::string>::const_iterator l_den_it = denominator_units_.begin ();
@@ -1688,6 +1688,7 @@ namespace Sass {
1688
1688
std::vector<std::string>::iterator r_den_it = r_dens.begin ();
1689
1689
std::vector<std::string>::iterator r_den_end = r_dens.end ();
1690
1690
1691
+ bool found = false ;
1691
1692
// search for compatible denominator
1692
1693
while (r_den_it != r_den_end)
1693
1694
{
@@ -1704,14 +1705,13 @@ namespace Sass {
1704
1705
factor *= conversion;
1705
1706
// remove item from vector
1706
1707
r_dens.erase (r_den_it);
1707
- // found it
1708
+ // found denominator
1709
+ found = true ;
1708
1710
break ;
1709
1711
}
1710
1712
// maybe we did not find any
1711
- if (r_den_it == r_den_end) {
1712
- // left denominator is leftover
1713
- l_miss_dens.push_back (l_den);
1714
- }
1713
+ // left denominator is leftover
1714
+ if (!found) l_miss_dens.push_back (l_den);
1715
1715
}
1716
1716
1717
1717
// check left-overs (ToDo: might cancel out)
0 commit comments