- pfCopyMemory( (char *) CellPtr, (char *) FreePtr, TOS + sizeof(cell) );\r
- *CellPtr = (cell)(((uint32)CellPtr) ^ (uint32)PF_MEMORY_VALIDATOR);\r
- CellPtr++;\r
- M_PUSH( (cell) ++CellPtr );\r
- TOS = 0;\r
+ pfCopyMemory( (char *) CellPtr, (char *) FreePtr, TOS + sizeof(cell_t) );\r
+ *CellPtr = (cell_t)(((ucell_t)CellPtr) ^ (ucell_t)PF_MEMORY_VALIDATOR);\r
+ // 090218 - Fixed bug that was incrementing the address twice. Thanks Reinhold Straub.\r
+ // Increment past validator to user address.\r
+ M_PUSH( (cell_t) (CellPtr + 1) );\r
+ TOS = 0; // Result code.\r
+ // Mark old cell as dead so we can't free it twice.\r