aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/defaultIO.nim5
-rw-r--r--src/pointer.nim9
2 files changed, 10 insertions, 4 deletions
diff --git a/src/defaultIO.nim b/src/defaultIO.nim
index ccf4476..1c3e2ca 100644
--- a/src/defaultIO.nim
+++ b/src/defaultIO.nim
@@ -34,7 +34,10 @@ proc defaultDecimalInput*(): int =
return result
proc defaultCharacterOutput*(v: int) =
- discard stdout.writeChars(@[v.char()], 0, 1)
+ try:
+ discard stdout.writeChars(@[v.char()], 0, 1)
+ except RangeDefect:
+ discard stdout.writeBuffer(unsafeAddr v, 4)
proc defaultDecimalOutput*(v: int) =
stdout.write(&"{v} ")
diff --git a/src/pointer.nim b/src/pointer.nim
index 91fb8be..219fa12 100644
--- a/src/pointer.nim
+++ b/src/pointer.nim
@@ -217,13 +217,16 @@ proc Eval(p: var Pointer, f: var Field, c: int): (bool, ref int) =
of "SHELL": discard
else: continue
p.ss[].Push(0)
- for i in value.len-1..0:
+ for i in countdown(value.len-1, 0):
p.ss[].Push(int(value[i]))
+ p.ss[].Push(int('='))
+ for i in countdown(key.len-1, 0):
+ p.ss[].Push(int(key[i]))
# 19
p.ss[].PushVector((0, 0))
for i in 0..<p.argv.len:
p.ss[].Push(0)
- for j in p.argv[i].len-1..0:
+ for j in countdown(p.argv[i].len-1, 0):
p.ss[].Push(int(p.argv[i][j]))
# 18
for i in 0..<height:
@@ -233,7 +236,7 @@ proc Eval(p: var Pointer, f: var Field, c: int): (bool, ref int) =
# 16
p.ss[].Push(now.hour * 256 * 256 + now.minute * 256 + now.second)
# 15
- p.ss[].Push(now.year * 256 * 256 + int(now.month) * 256 + int(now.monthday))
+ p.ss[].Push((now.year - 1900) * 256 * 256 + int(now.month) * 256 + int(now.monthday))
# 14
p.ss[].PushVector((lx-1, ly-1))
# 13