diff options
author | hlaaftana <10591326+hlaaftana@users.noreply.github.com> | 2020-11-12 13:44:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-12 11:44:21 +0100 |
commit | 527e792827497002ded742ad815c567a4a056471 (patch) | |
tree | 6ff7161e1f7cc8fce24d70407cfef14c62030069 /lib/pure/pathnorm.nim | |
parent | ef2677f5f3f58ad5bd514f82a0efd68d4d17e7f9 (diff) | |
download | Nim-527e792827497002ded742ad815c567a4a056471.tar.gz |
make var string return var char w/ BackwardsIndex (#15461)
* make var string return var char w/ BackwardsIndex fixes #14497 * work around VM bug * properly workaround again
Diffstat (limited to 'lib/pure/pathnorm.nim')
-rw-r--r-- | lib/pure/pathnorm.nim | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/pure/pathnorm.nim b/lib/pure/pathnorm.nim index 5bc66f0b7..7834f8d95 100644 --- a/lib/pure/pathnorm.nim +++ b/lib/pure/pathnorm.nim @@ -69,7 +69,7 @@ proc addNormalizePath*(x: string; result: var string; state: var int; while hasNext(it, x): let b = next(it, x) if (state shr 1 == 0) and isSlash(x, b): - if result.len == 0 or result[^1] notin {DirSep, AltSep}: + if result.len == 0 or result[result.len - 1] notin {DirSep, AltSep}: result.add dirSep state = state or 1 elif isDotDot(x, b): @@ -87,13 +87,13 @@ proc addNormalizePath*(x: string; result: var string; state: var int; setLen(result, d-1) dec state, 2 else: - if result.len > 0 and result[^1] notin {DirSep, AltSep}: + if result.len > 0 and result[result.len - 1] notin {DirSep, AltSep}: result.add dirSep result.add substr(x, b[0], b[1]) elif isDot(x, b): discard "discard the dot" elif b[1] >= b[0]: - if result.len > 0 and result[^1] notin {DirSep, AltSep}: + if result.len > 0 and result[result.len - 1] notin {DirSep, AltSep}: result.add dirSep result.add substr(x, b[0], b[1]) inc state, 2 |