Merge branch 'slimconfigure'
[m6w6/ext-psi] / src / types / decl_enum_item.c
index c403d97113626e134d8ed0f98e74b992e7ef5a17..7410e01d7621b3b319b15a6582d59bb895db9bef 100644 (file)
@@ -78,6 +78,8 @@ void psi_decl_enum_item_dump(int fd, struct psi_decl_enum_item *item)
 bool psi_decl_enum_item_validate(struct psi_data *data,
                struct psi_decl_enum *enm, struct psi_decl_enum_item *item, size_t seq)
 {
+       struct psi_validate_scope scope = {0};
+
        if (!item->num) {
                if (seq) {
                        int64_t one = 1;
@@ -97,11 +99,12 @@ bool psi_decl_enum_item_validate(struct psi_data *data,
                }
        }
 
-       if (!psi_num_exp_validate(data, item->num, NULL, NULL, NULL, NULL, enm)) {
+       scope.current_enum = enm;
+       if (!psi_num_exp_validate(data, item->num, &scope)) {
                return false;
        }
 
-       item->val = psi_long_num_exp(item->num, NULL, NULL);
+       item->val = psi_num_exp_get_long(item->num, NULL, NULL);
 
        return true;
 }