diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/Modules/zutil.c | 13 |
2 files changed, 8 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 6807b5020..ecc2213a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-08-20 Peter Stephenson <p.w.stephenson@ntlworld.com> + * 22650: Src/Modules/zutil.c: when deleting styles, the pointer + to the last style can become invalid. + * 22643: Src/Zle/zle_tricky.c: completion in math context was broken by searching for multibyte word characters. diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c index e3e4c8353..1e4bf975a 100644 --- a/Src/Modules/zutil.c +++ b/Src/Modules/zutil.c @@ -54,7 +54,7 @@ struct stypat { /* List of styles. */ -static Style zstyles, zlstyles; +static Style zstyles; /* Memory stuff. */ @@ -117,7 +117,7 @@ freeallstyles(void) zsfree(s->name); zfree(s, sizeof(*s)); } - zstyles = zlstyles = NULL; + zstyles = NULL; } /* Get the style struct for a name. */ @@ -233,11 +233,8 @@ addstyle(char *name) s->pats = NULL; s->name = ztrdup(name); - if (zlstyles) - zlstyles->next = s; - else - zstyles = s; - zlstyles = s; + s->next = zstyles; + zstyles = s; return s; } @@ -1748,7 +1745,7 @@ static struct builtin bintab[] = { int setup_(UNUSED(Module m)) { - zstyles = zlstyles = NULL; + zstyles = NULL; return 0; } |