Make readBytes and writeBytes work with uint8
So far only openarray[int8] worked. Now it's openarray[int8|uint8]. This should make sense, since uint8 is comfortable to represent a byte (0-255) and there is already type byte* = uint8 in system.
This commit is contained in:
parent
358d4b958c
commit
ecfaab68f1
2 changed files with 4 additions and 4 deletions
|
|
@ -246,14 +246,14 @@ proc fwrite(buf: pointer, size, n: int, f: File): int {.
|
|||
proc readBuffer(f: File, buffer: pointer, len: int): int =
|
||||
result = fread(buffer, 1, len, f)
|
||||
|
||||
proc readBytes(f: File, a: var openArray[int8], start, len: int): int =
|
||||
proc readBytes(f: File, a: var openArray[int8|uint8], start, len: int): int =
|
||||
result = readBuffer(f, addr(a[start]), len)
|
||||
|
||||
proc readChars(f: File, a: var openArray[char], start, len: int): int =
|
||||
result = readBuffer(f, addr(a[start]), len)
|
||||
|
||||
{.push stackTrace:off, profiler:off.}
|
||||
proc writeBytes(f: File, a: openArray[int8], start, len: int): int =
|
||||
proc writeBytes(f: File, a: openArray[int8|uint8], start, len: int): int =
|
||||
var x = cast[ptr array[0..1000_000_000, int8]](a)
|
||||
result = writeBuffer(f, addr(x[start]), len)
|
||||
proc writeChars(f: File, a: openArray[char], start, len: int): int =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue