{
*tmp = *expr->data.operand.left;
tmp->data.constant.value = v;
- if ((*ex->disc->convertf) (ex, tmp, type, expr->data.operand.right ? expr->data.
- operand.right->data.variable.symbol : (Exid_t *) 0, 0, ex->disc)) {
+ if (ex->disc->convertf(ex, tmp, type, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc)) {
exerror("%s: cannot convert %s value to %s",
expr->data.operand.left->data.variable.symbol->name,
extypename(ex, expr->data.operand.left->type), extypename(ex, type));
{
tmp.data.constant.value.string = exprintf(ex->ve, "%g", v.floating);
}
- else if ((*ex->disc->convertf)(ex, &tmp, STRING, expr->data.operand.right ? expr->data.operand.right->data.variable.symbol : (Exid_t*)0, 0, ex->disc)) {
+ else if (ex->disc->convertf(ex, &tmp, STRING, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc)) {
tmp.data.constant.value.string = exprintf(ex->ve, "%g", v.floating);
}
tmp.type = STRING;
case F2X:
tmp = *expr->data.operand.left;
tmp.data.constant.value = v;
- if ((*ex->disc->convertf)(ex, &tmp, expr->type, expr->data.operand.right ? expr->data.operand.right->data.variable.symbol : (Exid_t*)0, 0, ex->disc))
+ if (ex->disc->convertf(ex, &tmp, expr->type, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc))
exerror("%s: cannot convert floating value to external", tmp.data.variable.symbol->name);
tmp.type = expr->type;
return tmp.data.constant.value;
str = exprintf(ex->ve, "%lld", (long long)v.integer);
tmp.data.constant.value.string = str;
}
- else if ((*ex->disc->convertf)(ex, &tmp, STRING, expr->data.operand.right ? expr->data.operand.right->data.variable.symbol : (Exid_t*)0, 0, ex->disc)) {
+ else if (ex->disc->convertf(ex, &tmp, STRING, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc)) {
char *str = NULL;
if (expr->data.operand.left->type == UNSIGNED)
str = exprintf(ex->ve, "%llu", (unsigned long long)v.integer);
case I2X:
tmp = *expr->data.operand.left;
tmp.data.constant.value = v;
- if ((*ex->disc->convertf)(ex, &tmp, expr->type, expr->data.operand.right ? expr->data.operand.right->data.variable.symbol : (Exid_t*)0, 0, ex->disc))
+ if (ex->disc->convertf(ex, &tmp, expr->type, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc))
exerror("%s: cannot convert integer value to external", tmp.data.variable.symbol->name);
tmp.type = expr->type;
return tmp.data.constant.value;
case S2F:
tmp = *expr->data.operand.left;
tmp.data.constant.value = v;
- if ((*ex->disc->convertf)(ex, &tmp, FLOATING, expr->data.operand.right ? expr->data.operand.right->data.variable.symbol : (Exid_t*)0, 0, ex->disc))
+ if (ex->disc->convertf(ex, &tmp, FLOATING, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc))
{
tmp.data.constant.value.floating = strtod(v.string, &e);
if (*e)
case S2I:
tmp = *expr->data.operand.left;
tmp.data.constant.value = v;
- if ((*ex->disc->convertf)(ex, &tmp, INTEGER, expr->data.operand.right ? expr->data.operand.right->data.variable.symbol : (Exid_t*)0, 0, ex->disc))
+ if (ex->disc->convertf(ex, &tmp, INTEGER, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc))
{
if (v.string) {
tmp.data.constant.value.integer = strtoll(v.string, &e, 0);
case S2X:
tmp = *expr->data.operand.left;
tmp.data.constant.value = v;
- if ((*ex->disc->convertf)(ex, &tmp, expr->type, expr->data.operand.right ? expr->data.operand.right->data.variable.symbol : (Exid_t*)0, 0, ex->disc))
+ if (ex->disc->convertf(ex, &tmp, expr->type, expr->data.operand.right
+ ? expr->data.operand.right->data.variable.symbol
+ : NULL, 0, ex->disc))
exerror("%s: cannot convert string value to external", tmp.data.variable.symbol->name);
tmp.type = expr->type;
return tmp.data.constant.value;