1.1 --- a/core/systems/CFunction.cpp Sun Nov 12 01:06:17 2006 +0000
1.2 +++ b/core/systems/CFunction.cpp Sun Nov 12 02:24:45 2006 +0000
1.3 @@ -114,7 +114,10 @@
1.4
1.5 if (inarray)
1.6 {
1.7 - memcpy(info->phys_addr, inarray, sizeof(cell_t) * cells);
1.8 + if (!(copyback & SMFUNC_ARRAY_NOINIT))
1.9 + {
1.10 + memcpy(info->phys_addr, inarray, sizeof(cell_t) * cells);
1.11 + }
1.12 info->orig_addr = inarray;
1.13 } else {
1.14 info->orig_addr = info->phys_addr;
1.15 @@ -257,7 +260,7 @@
1.16 }
1.17 }
1.18 _skipcopy:
1.19 - base->HeapRelease(temp_info[numparams].local_addr);
1.20 + base->HeapPop(temp_info[numparams].local_addr);
1.21 temp_info[numparams].marked = false;
1.22 }
1.23