From c87df54f24969de0c9d503c349258d9953ae208a Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sat, 11 Nov 2023 10:39:51 +0100 Subject: [PATCH] Remove unused global variable cp_dol. This also prevents a gcc 13 bug, as cp_dol has been set to '\0' by -O2 optimization (see https://stackoverflow.com/questions/77407156/s-0-being-optimized-out-possible-gcc-13-bug-or-some-undefined-behaviour) --- src/frontend/variable.c | 6 ++---- src/include/ngspice/cpextern.h | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/frontend/variable.c b/src/frontend/variable.c index f4302e52c..3a241bb2a 100644 --- a/src/frontend/variable.c +++ b/src/frontend/variable.c @@ -789,9 +789,7 @@ cp_getvar(char *name, enum cp_types type, void *retval, size_t rsize) * isset is TRUE if the variable is being set, FALSE if unset. Also * required is a routine cp_enqvar(name) which returns a struct * variable *, which allows the host program to provide values for - * non-cshpar variables. */ - -char cp_dol = '$'; + * non-cshpar variables. See line 855 */ /* Non-alphanumeric characters that may appear in variable names. < is very * special... @@ -852,7 +850,7 @@ wordlist *cp_variablesubst(wordlist *wlist) char *s_dollar; int i = 0; - while ((s_dollar = strchr(wl->wl_word + i, cp_dol)) != NULL) { + while ((s_dollar = strchr(wl->wl_word + i, '$')) != NULL) { int prefix_len = (int) (s_dollar - wl->wl_word); diff --git a/src/include/ngspice/cpextern.h b/src/include/ngspice/cpextern.h index b051e0bcd..00ab7f7da 100644 --- a/src/include/ngspice/cpextern.h +++ b/src/include/ngspice/cpextern.h @@ -156,7 +156,6 @@ extern bool cp_ignoreeof; extern bool cp_noclobber; extern bool cp_noglob; extern bool cp_nonomatch; -extern char cp_dol; extern void cp_remvar(char *varname); void cp_vset(const char *varname, enum cp_types type, const void *value); extern struct variable *cp_setparse(wordlist *wl);