summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-01-21 15:30:48 +0100
committerAndreas Rumpf <rumpf_a@web.de>2016-01-21 15:30:48 +0100
commitb2854f21d6705f7957a21a0cc1a8688348a7fab8 (patch)
tree2d4275e1850ff736071a0e826ae88c59387bceb6
parent263ee143f103e86daef167a04ec1886130701334 (diff)
parentdf211b24fdc221175fb0ce4dfef12a5293ed0c37 (diff)
downloadNim-b2854f21d6705f7957a21a0cc1a8688348a7fab8.tar.gz
Merge pull request #3753 from yglukhov/js-streams
Dont convert string to cstring when writing to stream.
-rw-r--r--lib/pure/streams.nim5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/pure/streams.nim b/lib/pure/streams.nim
index 38e91fee4..bb6175a12 100644
--- a/lib/pure/streams.nim
+++ b/lib/pure/streams.nim
@@ -148,7 +148,10 @@ proc write*[T](s: Stream, x: T) =
 proc write*(s: Stream, x: string) =
   ## writes the string `x` to the the stream `s`. No length field or
   ## terminating zero is written.
-  writeData(s, cstring(x), x.len)
+  when nimvm:
+    writeData(s, cstring(x), x.len)
+  else:
+    if x.len > 0: writeData(s, unsafeAddr x[0], x.len)
 
 proc writeLn*(s: Stream, args: varargs[string, `$`]) {.deprecated.} =
   ## **Deprecated since version 0.11.4:** Use **writeLine** instead.