Corrected single check for empty stack, which resulted in popping nonexistent operands when arrity > 1
This commit is contained in:
6
src/ee.c
6
src/ee.c
@@ -138,13 +138,15 @@ operands(STACK* target_stack, int size)
|
|||||||
*/
|
*/
|
||||||
double * const _operands = (double*)malloc(size*sizeof(double));
|
double * const _operands = (double*)malloc(size*sizeof(double));
|
||||||
|
|
||||||
if ((*target_stack) == NULL)
|
//#if ((*target_stack) == NULL)
|
||||||
error |= ERR_NS_OPERANDS;
|
// error |= ERR_NS_OPERANDS;
|
||||||
|
|
||||||
double * tPtr = _operands;
|
double * tPtr = _operands;
|
||||||
double * endPtr = _operands + size;
|
double * endPtr = _operands + size;
|
||||||
while ((tPtr < endPtr) && !error)
|
while ((tPtr < endPtr) && !error)
|
||||||
{
|
{
|
||||||
|
if ((*target_stack) == NULL)
|
||||||
|
error |= ERR_NS_OPERANDS;
|
||||||
*tPtr = peek((target_stack));
|
*tPtr = peek((target_stack));
|
||||||
pop(target_stack);
|
pop(target_stack);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user