parent
8a3b76b287
commit
a9bd78d579
23 changed files with 140 additions and 140 deletions
|
|
@ -281,8 +281,8 @@ proc start*(c: proc(), stacksize: int = defaultStackSize): CoroutineRef {.discar
|
|||
(proc(p: pointer) {.stdcall.} = runCurrentTask()), nil)
|
||||
else:
|
||||
coro = cast[CoroutinePtr](alloc0(sizeof(Coroutine) + stacksize))
|
||||
coro.stack.top = cast[pointer](cast[ByteAddress](coro) + sizeof(Coroutine))
|
||||
coro.stack.bottom = cast[pointer](cast[ByteAddress](coro.stack.top) + stacksize)
|
||||
coro.stack.top = cast[pointer](cast[int](coro) + sizeof(Coroutine))
|
||||
coro.stack.bottom = cast[pointer](cast[int](coro.stack.top) + stacksize)
|
||||
when coroBackend == CORO_BACKEND_UCONTEXT:
|
||||
discard getcontext(coro.execContext)
|
||||
coro.execContext.uc_stack.ss_sp = coro.stack.top
|
||||
|
|
|
|||
|
|
@ -495,8 +495,8 @@ proc mmsSetPosition(s: Stream, pos: int) =
|
|||
proc mmsGetPosition(s: Stream): int = MemMapFileStream(s).pos
|
||||
|
||||
proc mmsPeekData(s: Stream, buffer: pointer, bufLen: int): int =
|
||||
let startAddress = cast[ByteAddress](MemMapFileStream(s).mf.mem)
|
||||
let p = cast[ByteAddress](MemMapFileStream(s).pos)
|
||||
let startAddress = cast[int](MemMapFileStream(s).mf.mem)
|
||||
let p = cast[int](MemMapFileStream(s).pos)
|
||||
let l = min(bufLen, MemMapFileStream(s).mf.size - p)
|
||||
moveMem(buffer, cast[pointer](startAddress + p), l)
|
||||
result = l
|
||||
|
|
@ -511,8 +511,8 @@ proc mmsWriteData(s: Stream, buffer: pointer, bufLen: int) =
|
|||
let size = MemMapFileStream(s).mf.size
|
||||
if MemMapFileStream(s).pos + bufLen > size:
|
||||
raise newEIO("cannot write to stream")
|
||||
let p = cast[ByteAddress](MemMapFileStream(s).mf.mem) +
|
||||
cast[ByteAddress](MemMapFileStream(s).pos)
|
||||
let p = cast[int](MemMapFileStream(s).mf.mem) +
|
||||
cast[int](MemMapFileStream(s).pos)
|
||||
moveMem(cast[pointer](p), buffer, bufLen)
|
||||
inc(MemMapFileStream(s).pos, bufLen)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ proc hexbyte*(hex: char): int {.inline.} =
|
|||
|
||||
proc parseOid*(str: cstring): Oid =
|
||||
## Parses an OID.
|
||||
var bytes = cast[cstring](cast[pointer](cast[ByteAddress](addr(result.time)) + 4))
|
||||
var bytes = cast[cstring](cast[pointer](cast[int](addr(result.time)) + 4))
|
||||
var i = 0
|
||||
while i < 12:
|
||||
bytes[i] = chr((hexbyte(str[2 * i]) shl 4) or hexbyte(str[2 * i + 1]))
|
||||
|
|
@ -57,7 +57,7 @@ proc `$`*(oid: Oid): string =
|
|||
result.setLen 24
|
||||
|
||||
var o = oid
|
||||
var bytes = cast[cstring](cast[pointer](cast[ByteAddress](addr(o)) + 4))
|
||||
var bytes = cast[cstring](cast[pointer](cast[int](addr(o)) + 4))
|
||||
var i = 0
|
||||
while i < 12:
|
||||
let b = bytes[i].ord
|
||||
|
|
|
|||
|
|
@ -1914,7 +1914,7 @@ func find*(s: string, sub: char, start: Natural = 0, last = -1): int {.rtl,
|
|||
if length > 0:
|
||||
let found = c_memchr(s[start].unsafeAddr, sub, cast[csize_t](length))
|
||||
if not found.isNil:
|
||||
return cast[ByteAddress](found) -% cast[ByteAddress](s.cstring)
|
||||
return cast[int](found) -% cast[int](s.cstring)
|
||||
else:
|
||||
findImpl()
|
||||
|
||||
|
|
@ -1970,7 +1970,7 @@ func find*(s, sub: string, start: Natural = 0, last = -1): int {.rtl,
|
|||
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))
|
||||
result = if not found.isNil:
|
||||
cast[ByteAddress](found) -% cast[ByteAddress](s.cstring)
|
||||
cast[int](found) -% cast[int](s.cstring)
|
||||
else:
|
||||
-1
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue