From c5c4d48729a77e1e99bd4ba95af323a2a267d575 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Tue, 20 Sep 2022 23:58:29 +0200 Subject: [PATCH] fix expandlabel.y, avoid producing a[7],a[5],a[3],a[1],a[-1] when expanding a[7:0:2] --- src/expandlabel.y | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/expandlabel.y b/src/expandlabel.y index 9c20c70d..208f3a25 100644 --- a/src/expandlabel.y +++ b/src/expandlabel.y @@ -375,8 +375,8 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM check_idx(&$$,++$$[0]); $$[$$[0]]=i; - if(sign==1 && i>=$3) break; - if(sign==-1 && i<=$3) break; + if(sign==1 && i + $5 > $3) break; + if(sign==-1 && i - $5 < $3) break; } } | B_IDXNUM ':' B_IDXNUM @@ -410,8 +410,8 @@ index: B_IDXNUM ':' B_IDXNUM ':' B_IDXNUM { check_idx(&$$, ++$$[0]); $$[$$[0]]=i; - if(sign==1 && i>=$5) break; - if(sign==-1 && i<=$5) break; + if(sign==1 && i + $7 > $5) break; + if(sign==-1 && i - $7 < $5) break; } } | index ',' B_IDXNUM ':' B_IDXNUM @@ -459,8 +459,8 @@ index_nobracket: B_IDXNUM B_DOUBLEDOT B_IDXNUM check_idx(&$$,++$$[0]); $$[$$[0]]=i; - if(sign==1 && i>=$3) break; - if(sign==-1 && i<=$3) break; + if(sign==1 && i + $5 > $3) break; + if(sign==-1 && i - $5 < $3) break; } }