Browse Source

Remove sourceinfo upon shared ngspice reset.

Remove memory leaks.
pre-master-46
Holger Vogt 2 years ago
parent
commit
295be20859
  1. 2
      src/frontend/inpcom.c
  2. 7
      src/sharedspice.c

2
src/frontend/inpcom.c

@ -1288,7 +1288,7 @@ static struct inp_read_t inp_read(FILE* fp, int call_depth, const char* dir_name
add_to_sourcepath(sourcelineinfo, NULL); add_to_sourcepath(sourcelineinfo, NULL);
} }
wl_append_word(&sourceinfo, &sourceinfo, sourcelineinfo);
sourceinfo = wl_cons(sourcelineinfo, sourceinfo);
/* First read in all lines & put them in the struct cc */ /* First read in all lines & put them in the struct cc */
for (;;) { for (;;) {

7
src/sharedspice.c

@ -352,6 +352,8 @@ static char* outstorage(char*, bool);
static void printsend(void); static void printsend(void);
#endif #endif
extern wordlist* sourceinfo;
static int totalreset(void); static int totalreset(void);
extern void rem_controls(void); extern void rem_controls(void);
extern void destroy_wallace(void); extern void destroy_wallace(void);
@ -2464,6 +2466,10 @@ static int totalreset(void)
wordlist all = { "all", NULL, NULL }; wordlist all = { "all", NULL, NULL };
wordlist star = { "*", NULL, NULL }; wordlist star = { "*", NULL, NULL };
tfree(Infile_Path);
wl_free(sourceinfo);
sourceinfo = NULL;
com_destroy(&all); com_destroy(&all);
com_unalias(&star); com_unalias(&star);
com_undefine(&star); com_undefine(&star);
@ -2480,7 +2486,6 @@ static int totalreset(void)
rem_controls(); rem_controls();
while (ft_curckt) { while (ft_curckt) {
wl_delete(ft_curckt->ci_sourceinfo);
com_remcirc(NULL); com_remcirc(NULL);
} }

Loading…
Cancel
Save