From 1d07a3c80215bbb765035b8d1fa27627b6cbfc7a Mon Sep 17 00:00:00 2001 From: FellippeHeitor Date: Sun, 18 Oct 2020 01:14:25 -0300 Subject: [PATCH] Fixes ENVIRON$() to automatically add CHR$(0) to strings passed. Closes #79 --- internal/c/libqb.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/c/libqb.cpp b/internal/c/libqb.cpp index 904423d0f..3b0dfc187 100644 --- a/internal/c/libqb.cpp +++ b/internal/c/libqb.cpp @@ -21311,10 +21311,15 @@ void sub_put2(int32 i,int64 offset,void *element,int32 passed){ qbs *func_environ(qbs *name) { + static char *withNull; + withNull=(char*)malloc(name->len+1); + withNull[name->len]=0;//add NULL terminator + memcpy(withNull,name->chr,name->len); + static char *cp; static qbs *tqbs; static int32 bytes; - cp=getenv((char*)name->chr); + cp=getenv(withNull); if (cp){ bytes=strlen(cp); tqbs=qbs_new(bytes,1);