From 5f092520d1f7df15910664d0555bf4c7db8b90d3 Mon Sep 17 00:00:00 2001 From: Yuriy Glukhov Date: Thu, 21 Jan 2016 22:26:50 +0200 Subject: Revert "Fixed unicode handling in JS. Fixes #3714." --- lib/system/jssys.nim | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) (limited to 'lib') diff --git a/lib/system/jssys.nim b/lib/system/jssys.nim index abee95f40..3df460952 100644 --- a/lib/system/jssys.nim +++ b/lib/system/jssys.nim @@ -166,33 +166,14 @@ proc SetConstr() {.varargs, asmNoStackFrame, compilerproc.} = """ proc cstrToNimstr(c: cstring): string {.asmNoStackFrame, compilerproc.} = - {.emit: """ - var ln = `c`.length; - var result = new Array(ln); - var r = 0; - for (var i = 0; i < ln; ++i) { - var ch = `c`.charCodeAt(i); - - if (ch < 128) { - result[r] = ch; - } - else if((ch > 127) && (ch < 2048)) { - result[r] = (ch >> 6) | 192; - ++r; - result[r] = (ch & 63) | 128; - } - else { - result[r] = (ch >> 12) | 224; - ++r; - result[r] = ((ch >> 6) & 63) | 128; - ++r; - result[r] = (ch & 63) | 128; + asm """ + var result = []; + for (var i = 0; i < `c`.length; ++i) { + result[i] = `c`.charCodeAt(i); } - ++r; - } - result[r] = 0; // terminating zero - return result; - """.} + result[result.length] = 0; // terminating zero + return result; + """ proc toJSStr(s: string): cstring {.asmNoStackFrame, compilerproc.} = asm """ -- cgit 1.4.1-2-gfad0 pages/bchs.md?id=2f7b62cd9693e73114c71dc9ad28fb7acd96c9d5'>diff stats
path: root/pages/bchs.md
blob: 39a6ced60e32cfddc8b23517a6244df8618b20ed (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76