diff --git a/internal/c/libqb.cpp b/internal/c/libqb.cpp index 0b9fa5d23..0a3201886 100644 --- a/internal/c/libqb.cpp +++ b/internal/c/libqb.cpp @@ -21355,15 +21355,19 @@ 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(withNull); + #ifdef QB64_WINDOWS + static char *withNull; + withNull=(char*)malloc(name->len+1); + withNull[name->len]=0;//add NULL terminator + memcpy(withNull,name->chr,name->len); + + cp=getenv(withNull); + #else + cp=getenv((char*)name->chr); + #endif if (cp){ bytes=strlen(cp); tqbs=qbs_new(bytes,1);