1.1 --- a/core/systems/CFunction.cpp Mon Jan 15 23:10:59 2007 +0000
1.2 +++ b/core/systems/CFunction.cpp Tue Jan 16 19:03:29 2007 +0000
1.3 @@ -90,7 +90,7 @@
1.4
1.5 info->flags = inarray ? copyback : 0;
1.6 info->marked = true;
1.7 - info->size = cells;
1.8 + info->size = cells * sizeof(cell_t);
1.9 m_params[m_curparam] = info->local_addr;
1.10 m_curparam++;
1.11
1.12 @@ -162,7 +162,7 @@
1.13 skip_localtostr:
1.14 info->flags = cp_flags;
1.15 info->orig_addr = (cell_t *)string;
1.16 - info->size = cells;
1.17 + info->size = len;
1.18
1.19 return SP_ERROR_NONE;
1.20 }
1.21 @@ -229,13 +229,13 @@
1.22 {
1.23 if (temp_info[numparams].orig_addr)
1.24 {
1.25 - if (temp_info[numparams].size == 1)
1.26 + if (temp_info[numparams].size == sizeof(cell_t))
1.27 {
1.28 *temp_info[numparams].orig_addr = *temp_info[numparams].phys_addr;
1.29 } else {
1.30 memcpy(temp_info[numparams].orig_addr,
1.31 temp_info[numparams].phys_addr,
1.32 - temp_info[numparams].size * sizeof(cell_t));
1.33 + temp_info[numparams].size);
1.34 }
1.35 }
1.36 }