Index: /Include/basic/function.sbp
===================================================================
--- /Include/basic/function.sbp	(revision 144)
+++ /Include/basic/function.sbp	(revision 145)
@@ -694,5 +694,5 @@
 	Dim temp[255] As Char
 	_sntprintf(temp, Len (temp) \ SizeOf (Char), "%I64d", value)
-	Str$ = temp
+	Str$ = New String( temp )
 End Function
 
@@ -755,5 +755,5 @@
 
 	If buf[0]=Asc("&") Then
-		temporary = buf
+		temporary = New String( buf )
 		temporary.ToUpper()
 		TempPtr = StrPtr(temporary)
@@ -898,9 +898,9 @@
 
 Function malloc(stSize As SIZE_T) As VoidPtr
-	Return _System_GC.__malloc(stSize,_System_GC_FLAG_NEEDFREE)
+	Return _System_pGC->__malloc(stSize,_System_GC_FLAG_NEEDFREE or _System_GC_FLAG_ATOMIC)
 End Function
 
 Function calloc(stSize As SIZE_T) As VoidPtr
-	Return _System_GC.__malloc(stSize,_System_GC_FLAG_NEEDFREE or _System_GC_FLAG_INITZERO)
+	Return _System_pGC->__malloc(stSize,_System_GC_FLAG_NEEDFREE or _System_GC_FLAG_ATOMIC or _System_GC_FLAG_INITZERO)
 End Function
 
@@ -909,10 +909,10 @@
 		Return malloc(stSize)
 	Else
-		Return _System_GC.__realloc(lpMem,stSize)
+		Return _System_pGC->__realloc(lpMem,stSize)
 	End If
 End Function
 
 Sub free(lpMem As VoidPtr)
-	_System_GC.__free(lpMem)
+	_System_pGC->__free(lpMem)
 End Sub
 
