urj_vhdl_set_entity() saved the entity name in the parts part_name save it to a vhdl struct instead, it is the callers responsibility to set part_name --- urjtag/src/bsdl/bsdl_types.h | 2 ++ urjtag/src/bsdl/vhdl_bison.y | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/urjtag/src/bsdl/bsdl_types.h b/urjtag/src/bsdl/bsdl_types.h index d19ffd11..efe09579 100644 --- a/urjtag/src/bsdl/bsdl_types.h +++ b/urjtag/src/bsdl/bsdl_types.h @@ -157,10 +157,12 @@ typedef struct jtag_ctrl urj_bsdl_jtag_ctrl_t; /* private data of the VHDL bison parser used to store variables the would end up as globals otherwise */ +#define VHDL_PARSER_ENTITY_NAME_MAXLEN 20 struct vhdl_parser_priv { char Package_File_Name[100]; int Reading_Package; + char entity_name[VHDL_PARSER_ENTITY_NAME_MAXLEN+1]; char *buffer; size_t len_buffer; void *scanner; diff --git a/urjtag/src/bsdl/vhdl_bison.y b/urjtag/src/bsdl/vhdl_bison.y index 50816628..4d057df5 100644 --- a/urjtag/src/bsdl/vhdl_bison.y +++ b/urjtag/src/bsdl/vhdl_bison.y @@ -918,9 +918,8 @@ urj_vhdl_set_entity (urj_vhdl_parser_priv_t *priv, char *entityname) { if (priv->jtag_ctrl->proc_mode & URJ_BSDL_MODE_INSTR_EXEC) { - strncpy (priv->jtag_ctrl->part->part_name, entityname, - URJ_PART_PART_MAXLEN); - priv->jtag_ctrl->part->part_name[URJ_PART_PART_MAXLEN] = '\0'; + strncpy (priv->entity_name, entityname, VHDL_PARSER_ENTITY_NAME_MAXLEN); + priv->entity_name[VHDL_PARSER_ENTITY_NAME_MAXLEN] = '\0'; } free (entityname); -- 2.21.0 _______________________________________________ UrJTAG-development mailing list UrJTAG-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/urjtag-development