From 066a65bfefbb2e306d989c98b93d0e47cc2d031c Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Tue, 25 Oct 2022 23:37:28 +0200 Subject: [PATCH] removed some static hashtable declarations in netlisting code --- src/scheduler.c | 1 + src/spice_netlist.c | 5 +++-- src/verilog_netlist.c | 2 +- src/vhdl_netlist.c | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/scheduler.c b/src/scheduler.c index 36eb1041..99672479 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -1788,6 +1788,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg else if(has_x) tcleval("tk_messageBox -type ok -parent [xschem get topwindow] " "-message {Please Set netlisting mode (Options menu)}"); + Tcl_ResetResult(interp); } } diff --git a/src/spice_netlist.c b/src/spice_netlist.c index a6d7bd86..1e40b80f 100644 --- a/src/spice_netlist.c +++ b/src/spice_netlist.c @@ -23,8 +23,6 @@ #include "xschem.h" static Str_hashtable model_table = {NULL, 0}; /* safe even with multiple schematics */ -static Str_hashentry *model_entry; /* safe even with multiple schematics */ -static Str_hashtable subckt_table = {NULL, 0}; /* safe even with multiple schematics */ void hier_psprint(void) /* netlister driver */ { @@ -32,6 +30,7 @@ void hier_psprint(void) /* netlister driver */ char *subckt_name; char filename[PATH_MAX]; char *abs_path = NULL; + Str_hashtable subckt_table = {NULL, 0}; if(!ps_draw(1)) return; /* prolog */ xctx->push_undo(); @@ -197,6 +196,8 @@ void global_spice_netlist(int global) /* netlister driver */ char *abs_path = NULL; int top_sub; int split_f; + Str_hashtable subckt_table = {NULL, 0}; + Str_hashentry *model_entry; split_f = tclgetboolvar("split_files"); top_sub = tclgetboolvar("top_subckt"); diff --git a/src/verilog_netlist.c b/src/verilog_netlist.c index 60445bdb..6ca2ea93 100644 --- a/src/verilog_netlist.c +++ b/src/verilog_netlist.c @@ -21,7 +21,6 @@ */ #include "xschem.h" -static Str_hashtable subckt_table = {NULL, 0}; /* safe even with multiple schematics */ static void verilog_netlist(FILE *fd , int verilog_stop) { @@ -91,6 +90,7 @@ void global_verilog_netlist(int global) /* netlister driver */ char *abs_path = NULL; int split_f; const char *fmt_attr = NULL; + Str_hashtable subckt_table = {NULL, 0}; split_f = tclgetboolvar("split_files"); xctx->push_undo(); diff --git a/src/vhdl_netlist.c b/src/vhdl_netlist.c index d68f65d2..b66e1c3d 100644 --- a/src/vhdl_netlist.c +++ b/src/vhdl_netlist.c @@ -22,7 +22,6 @@ #include "xschem.h" -static Str_hashtable subckt_table = {NULL, 0}; /* safe even with multiple schematics */ static void vhdl_netlist(FILE *fd , int vhdl_stop) { @@ -129,6 +128,7 @@ void global_vhdl_netlist(int global) /* netlister driver */ char *subckt_name; char *abs_path = NULL; int split_f; + Str_hashtable subckt_table = {NULL, 0}; split_f = tclgetboolvar("split_files"); xctx->push_undo();