From 5bde480596ac2a42a962cee5cc61f3bed03031a8 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Sat, 9 Dec 2023 02:34:22 +0000 Subject: [PATCH] workaround a cstring conversion bug --- lib/pure/strutils.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index 479acc0753..d1ffc4acbd 100644 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -2036,8 +2036,9 @@ func find*(s, sub: string, start: Natural = 0, last = -1): int {.rtl, let subLen = sub.len if last < 0 and start < s.len and subLen != 0: let found = memmem(s[start].unsafeAddr, csize_t(s.len - start), sub.cstring, csize_t(subLen)) + # TODO: fixme does it insinuate cstring cannot be used for addr anymore? result = if not found.isNil: - cast[int](found) -% cast[int](s.cstring) + cast[int](found) -% cast[int](s[start].unsafeAddr) else: -1 else: