From b3057be2c9a2b354ad1244814a2cac3968cc4d65 Mon Sep 17 00:00:00 2001 From: Billingsly Wetherfordshire Date: Mon, 23 Dec 2013 11:52:11 -0600 Subject: [PATCH 1/2] Update endians.nim adds swapEndian16 function --- lib/pure/endians.nim | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/pure/endians.nim b/lib/pure/endians.nim index 34270b320..73017464d 100644 --- a/lib/pure/endians.nim +++ b/lib/pure/endians.nim @@ -34,14 +34,26 @@ proc swapEndian32*(outp, inp: pointer) = o[2] = i[1] o[3] = i[0] +proc swapEndian16*(outp, inp: pointer) = + ## copies `inp` to `outp` swapping bytes. Both buffers are supposed to + ## contain at least 2 bytes. + var + i = cast[cstring](inp) + o = cast[cstring](outp) + o[0] = i[1] + o[1] = i[0] + when system.cpuEndian == bigEndian: proc littleEndian64*(outp, inp: pointer) {.inline.} = swapEndian64(outp, inp) proc littleEndian32*(outp, inp: pointer) {.inline.} = swapEndian32(outp, inp) + proc littleEndian16*(outp, inp: pointer) {.inline.} = swapEndian16(outp, inp) proc bigEndian64*(outp, inp: pointer) {.inline.} = copyMem(outp, inp, 8) proc bigEndian32*(outp, inp: pointer) {.inline.} = copyMem(outp, inp, 4) + proc bigEndian16*(outp, inp: pointer) {.inline.} = copyMem(outp, inp, 2) else: proc littleEndian64*(outp, inp: pointer) {.inline.} = copyMem(outp, inp, 8) proc littleEndian32*(outp, inp: pointer) {.inline.} = copyMem(outp, inp, 4) + proc littleEndian16*(outp, inp: pointer){.inline.} = copyMem(outp, inp, 2) proc bigEndian64*(outp, inp: pointer) {.inline.} = swapEndian64(outp, inp) proc bigEndian32*(outp, inp: pointer) {.inline.} = swapEndian32(outp, inp) - + proc bigEndian16*(outp, inp: pointer) {.inline.} = swapEndian16(outp, inp) From fb4a96ff78e85537f248fe96d6508f1dffead297 Mon Sep 17 00:00:00 2001 From: Josh Girvin Date: Mon, 13 Jan 2014 02:43:50 +1000 Subject: [PATCH 2/2] Koch now uses PATH/nimrod correctly --- koch.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/koch.nim b/koch.nim index 97fcf5b2c..3b13690fa 100644 --- a/koch.nim +++ b/koch.nim @@ -111,7 +111,7 @@ proc findStartNimrod: string = result = "bin" / nimrod if ExistsFile(result): return for dir in split(getEnv("PATH"), PathSep): - if ExistsFile(dir / nimrod): return nimrod + if ExistsFile(dir / nimrod): return dir / nimrod when defined(Posix): const buildScript = "build.sh" if ExistsFile(buildScript):