Corrected empty arguments recognized as numbers. Empty arguments are now ignored.
This commit is contained in:
9
src/ee.c
9
src/ee.c
@@ -21,6 +21,9 @@ main (const int argc, const char* argv[])
|
|||||||
else if (arrity(**arg))
|
else if (arrity(**arg))
|
||||||
push(evaluate(&expr, **arg), &expr);
|
push(evaluate(&expr, **arg), &expr);
|
||||||
|
|
||||||
|
else if (strcmp(*arg, "") == 0)
|
||||||
|
// Ignore empty arguments
|
||||||
|
;
|
||||||
else
|
else
|
||||||
error |= ERR_INVALID_INPUT;
|
error |= ERR_INVALID_INPUT;
|
||||||
|
|
||||||
@@ -49,7 +52,8 @@ isNum(const char* query)
|
|||||||
|
|
||||||
char *extra_char;
|
char *extra_char;
|
||||||
strtod(query, &extra_char);
|
strtod(query, &extra_char);
|
||||||
return strcmp(extra_char, "") == 0;
|
return (strcmp(query, "") != 0) &&
|
||||||
|
(strcmp(extra_char, "") == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,9 +142,6 @@ 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)
|
|
||||||
// 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)
|
||||||
|
|||||||
Reference in New Issue
Block a user