}
new->ops[0] = *proot;
new->ops[1] = parser (*pstr, pstr, new->prio);
- if ((new->ops[1] != NULL) && (new->ops[1] != ERROR_OP) && (new->ops[1]->prio == 9)) {
+ if ((new->ops[1] == NULL) || ((new->ops[1] != ERROR_OP) && (new->ops[1]->prio == 9))) {
delelement (new->ops[1]);
new->ops[1] = ERROR_OP;
}
do {
found = 0;
new = parser (str + 1, &str, 0);
- if ((new != NULL) && (new != ERROR_OP) && (new->prio == 9)) {
+ if ((new == NULL) || ((new != ERROR_OP) && (new->prio == 9))) {
delelement (new);
new = ERROR_OP;
}
- if (new == ERROR_OP) {
+ if ((new == NULL) || (new == ERROR_OP)) {
delelement (root);
return ERROR_OP;
}
return ERROR_OP;
}
new = parser (str + 1, &str, 0);
- if ((new != NULL) && (new != ERROR_OP) && (new->prio == 9)) {
+ if ((new == NULL) || ((new != ERROR_OP) && (new->prio == 9))) {
delelement (new);
new = ERROR_OP;
}
- if ((new == ERROR_OP) || (*str == ',')) {
+ if ((new == NULL) || (new == ERROR_OP) || (*str == ',')) {
delelement (new);
delelement (root);
return ERROR_OP;