diff --git a/compiler/ccgcalls.nim b/compiler/ccgcalls.nim index 2323d1f262..2ddc88509b 100644 --- a/compiler/ccgcalls.nim +++ b/compiler/ccgcalls.nim @@ -143,7 +143,7 @@ proc openArrayLoc(p: BProc, n: PNode): Rope = proc genArgStringToCString(p: BProc, n: PNode): Rope {.inline.} = var a: TLoc initLocExpr(p, n.sons[0], a) - result = "($1 ? $1->data : \"\")" % [a.rdLoc] + result = "($1 ? $1->data : (NCSTRING)\"\")" % [a.rdLoc] proc genArg(p: BProc, n: PNode, param: PSym; call: PNode): Rope = var a: TLoc diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim index acf4c19753..dde3d6e708 100644 --- a/compiler/ccgexprs.nim +++ b/compiler/ccgexprs.nim @@ -1740,7 +1740,7 @@ proc genConv(p: BProc, e: PNode, d: var TLoc) = proc convStrToCStr(p: BProc, n: PNode, d: var TLoc) = var a: TLoc initLocExpr(p, n.sons[0], a) - putIntoDest(p, d, n, "($1 ? $1->data : \"\")" % [rdLoc(a)], + putIntoDest(p, d, n, "($1 ? $1->data : (NCSTRING)\"\")" % [rdLoc(a)], a.storage) proc convCStrToStr(p: BProc, n: PNode, d: var TLoc) =