|
@@ -13,7 +13,7 @@
|
|
|
|
|
|
struct expr *expr_alloc_symbol(struct symbol *sym)
|
|
|
{
|
|
|
- struct expr *e = calloc(1, sizeof(*e));
|
|
|
+ struct expr *e = xcalloc(1, sizeof(*e));
|
|
|
e->type = E_SYMBOL;
|
|
|
e->left.sym = sym;
|
|
|
return e;
|
|
@@ -21,7 +21,7 @@ struct expr *expr_alloc_symbol(struct symbol *sym)
|
|
|
|
|
|
struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
|
|
|
{
|
|
|
- struct expr *e = calloc(1, sizeof(*e));
|
|
|
+ struct expr *e = xcalloc(1, sizeof(*e));
|
|
|
e->type = type;
|
|
|
e->left.expr = ce;
|
|
|
return e;
|
|
@@ -29,7 +29,7 @@ struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
|
|
|
|
|
|
struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2)
|
|
|
{
|
|
|
- struct expr *e = calloc(1, sizeof(*e));
|
|
|
+ struct expr *e = xcalloc(1, sizeof(*e));
|
|
|
e->type = type;
|
|
|
e->left.expr = e1;
|
|
|
e->right.expr = e2;
|
|
@@ -38,7 +38,7 @@ struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e
|
|
|
|
|
|
struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2)
|
|
|
{
|
|
|
- struct expr *e = calloc(1, sizeof(*e));
|
|
|
+ struct expr *e = xcalloc(1, sizeof(*e));
|
|
|
e->type = type;
|
|
|
e->left.sym = s1;
|
|
|
e->right.sym = s2;
|
|
@@ -66,7 +66,7 @@ struct expr *expr_copy(const struct expr *org)
|
|
|
if (!org)
|
|
|
return NULL;
|
|
|
|
|
|
- e = malloc(sizeof(*org));
|
|
|
+ e = xmalloc(sizeof(*org));
|
|
|
memcpy(e, org, sizeof(*org));
|
|
|
switch (org->type) {
|
|
|
case E_SYMBOL:
|