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)) {
+ char *str = NULL;
if (expr->data.operand.left->type == UNSIGNED)
- sfprintf(ex->tmp, "%I*u", sizeof(v.integer), v.integer);
+ str = exprintf(ex->ve, "%llu", (unsigned long long)v.integer);
else
- sfprintf(ex->tmp, "%I*d", sizeof(v.integer), v.integer);
- tmp.data.constant.value.string = exstash(ex->tmp, ex->ve);
+ str = exprintf(ex->ve, "%lld", (long long)v.integer);
+ tmp.data.constant.value.string = str;
}
tmp.type = STRING;
return tmp.data.constant.value;