diff options
author | Araq <rumpf_a@web.de> | 2016-03-29 16:39:05 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2016-03-29 16:39:05 +0200 |
commit | 13a83c7fdd92af9cda38c0c9cfafe2d555b34206 (patch) | |
tree | b6bb9f24c585975047130f3d9f2f8ebacb3cf134 /lib/system | |
parent | db2b2156581ffaaa63e7ff9c0a07ced540006956 (diff) | |
download | Nim-13a83c7fdd92af9cda38c0c9cfafe2d555b34206.tar.gz |
Windows: fixes a regression; codegen might not know about & at this point
Diffstat (limited to 'lib/system')
-rw-r--r-- | lib/system/dyncalls.nim | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/system/dyncalls.nim b/lib/system/dyncalls.nim index ba5e4bbeb..3b3d1f87d 100644 --- a/lib/system/dyncalls.nim +++ b/lib/system/dyncalls.nim @@ -109,9 +109,10 @@ elif defined(windows) or defined(dos): proc nimGetProcAddr(lib: LibHandle, name: cstring): ProcAddr = result = getProcAddress(cast[THINSTANCE](lib), name) if result != nil: return + var decorated: array[250, char] for i in countup(0, 50): - var decorated = "_" & $name & "@" & $(i * 4) - result = getProcAddress(cast[THINSTANCE](lib), cstring(decorated)) + discard csprintf(decorated, "_%s@%ld", name, i*4) + result = getProcAddress(cast[THINSTANCE](lib), decorated) if result != nil: return procAddrError(name) |