case S_group:
tac_list_node_init(&expr->eval_scan.u.entity.notify_expr_node);
expr->u.entity.entity = entity_lookup(expr->type, expr->u.entity.name);
+ if (!expr->u.entity.entity && expr->type == S_host) {
+ expr->u.entity.entity = new_entity(expr->type, (char *)expr->u.entity.name, expr->line);
+ if (!expr->u.entity.entity)
+ return (1);
+ expr->u.entity.name = NULL;
+ }
if (!expr->u.entity.entity) {
report(LOG_ERR, "referenced entity %s %s not found on line %d",
entity_type_to_string(expr->type), expr->u.entity.name, expr->line);
return (1);
- }
+ }
+ /* already NULLed for not-yet-existing S_host */
free((char *) expr->u.entity.name);
expr->u.entity.name = NULL;
break;