more precise freeing the wordlist, depending on exit point
This commit is contained in:
parent
bc52389a09
commit
458411b2e1
|
|
@ -275,10 +275,15 @@ ft_cktcoms(bool terse)
|
||||||
while (coms) {
|
while (coms) {
|
||||||
wordlist* freecom;
|
wordlist* freecom;
|
||||||
freecom = command = cp_lexer(coms->wl_word);
|
freecom = command = cp_lexer(coms->wl_word);
|
||||||
if (!command || command->wl_word == (char *) NULL) {
|
if (!command) {
|
||||||
/* Line not converted to a wordlist */
|
/* Line not converted to a wordlist */
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
|
if (command->wl_word == (char*)NULL) {
|
||||||
|
/* Line not converted to a wordlist */
|
||||||
|
wl_free(freecom);
|
||||||
|
goto bad;
|
||||||
|
}
|
||||||
if (eq(command->wl_word, ".width")) {
|
if (eq(command->wl_word, ".width")) {
|
||||||
do
|
do
|
||||||
command = command->wl_next;
|
command = command->wl_next;
|
||||||
|
|
@ -288,6 +293,7 @@ ft_cktcoms(bool terse)
|
||||||
if (!s || !s[1]) {
|
if (!s || !s[1]) {
|
||||||
fprintf(cp_err, "Error: bad line %s\n", coms->wl_word);
|
fprintf(cp_err, "Error: bad line %s\n", coms->wl_word);
|
||||||
coms = coms->wl_next;
|
coms = coms->wl_next;
|
||||||
|
wl_free(freecom);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
i = atoi(++s);
|
i = atoi(++s);
|
||||||
|
|
@ -302,6 +308,7 @@ ft_cktcoms(bool terse)
|
||||||
if (!command) {
|
if (!command) {
|
||||||
fprintf(cp_err, "Error: bad line %s\n", coms->wl_word);
|
fprintf(cp_err, "Error: bad line %s\n", coms->wl_word);
|
||||||
coms = coms->wl_next;
|
coms = coms->wl_next;
|
||||||
|
wl_free(freecom);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
plottype = command->wl_word;
|
plottype = command->wl_word;
|
||||||
|
|
@ -330,6 +337,7 @@ ft_cktcoms(bool terse)
|
||||||
fprintf(cp_err, "Error: bad line %s\n",
|
fprintf(cp_err, "Error: bad line %s\n",
|
||||||
coms->wl_word);
|
coms->wl_word);
|
||||||
coms = coms->wl_next;
|
coms = coms->wl_next;
|
||||||
|
wl_free(freecom);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
plottype = command->wl_word;
|
plottype = command->wl_word;
|
||||||
|
|
@ -364,9 +372,9 @@ ft_cktcoms(bool terse)
|
||||||
}
|
}
|
||||||
} else if (!eq(command->wl_word, ".save") &&
|
} else if (!eq(command->wl_word, ".save") &&
|
||||||
!eq(command->wl_word, ".op") &&
|
!eq(command->wl_word, ".op") &&
|
||||||
// !eq(command->wl_word, ".measure") &&
|
|
||||||
!ciprefix(".meas", command->wl_word) &&
|
!ciprefix(".meas", command->wl_word) &&
|
||||||
!eq(command->wl_word, ".tf")) {
|
!eq(command->wl_word, ".tf")) {
|
||||||
|
wl_free(freecom);
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
coms = coms->wl_next; /* go to next line */
|
coms = coms->wl_next; /* go to next line */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue