aboutsummaryrefslogtreecommitdiffstats
path: root/community/libsass/fix-trim-loop-condition-and-outer-continue.patch
blob: b1c2acf455ee1bcbaacd1378ee6e01174422cf16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
From fdf63e4c93d40c1c4da43fdf13010d590dc133e0 Mon Sep 17 00:00:00 2001
From: Marcel Greter <marcel.greter@ocbnet.ch>
Date: Sun, 20 Oct 2019 04:45:29 +0200
Subject: [PATCH] Fix trim loop condition and outer continue

---
 src/extender.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/extender.cpp b/src/extender.cpp
index 2ae54df98..b0add3857 100644
--- a/src/extender.cpp
+++ b/src/extender.cpp
@@ -1070,10 +1070,10 @@ namespace Sass {
     // the result so that, if two selectors are identical, we keep the first one.
     std::vector<ComplexSelectorObj> result; size_t numOriginals = 0;
 
-    // Use label to quit outer loop
-  redo:
+    size_t i = selectors.size();
+  outer: // Use label to continue loop
+    while (--i != std::string::npos) {
 
-    for (size_t i = selectors.size() - 1; i != std::string::npos; i--) {
       const ComplexSelectorObj& complex1 = selectors[i];
       // Check if selector in known in existing "originals"
       // For custom behavior dart-sass had `isOriginal(complex1)`
@@ -1083,7 +1083,7 @@ namespace Sass {
         for (size_t j = 0; j < numOriginals; j++) {
           if (ObjEqualityFn(result[j], complex1)) {
             rotateSlice(result, 0, j + 1);
-            goto redo;
+            goto outer;
           }
         }
         result.insert(result.begin(), complex1);