diff options
Diffstat (limited to 'Src/Zle/comp1.c')
-rw-r--r-- | Src/Zle/comp1.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/Zle/comp1.c b/Src/Zle/comp1.c index a5e35bc3c..77fe0a1fe 100644 --- a/Src/Zle/comp1.c +++ b/Src/Zle/comp1.c @@ -49,7 +49,7 @@ void (*makecompparamsptr) _((void)); /* pointers to functions required by compctl and defined by zle */ /**/ -void (*addmatchesptr) _((char *, char *, char *, char *, char *, char *, char *, char *, int, int, Cmatcher, char **)); +void (*addmatchesptr) _((char *, char *, char *, char *, char *, char *, char *, char *, char *, char *, int, int, Cmatcher, char **)); /**/ char *(*comp_strptr) _((int*,int*)); @@ -61,7 +61,7 @@ int (*getcpatptr) _((char *, int, char *, int)); void (*makecomplistcallptr) _((Compctl)); /**/ -void (*makecomplistctlptr) _((int)); +int (*makecomplistctlptr) _((int)); /* Hash table for completion info for commands */ @@ -249,6 +249,9 @@ freecmatcher(Cmatcher m) { Cmatcher n; + if (!m || --(m->refc)) + return; + while (m) { n = m->next; freecpattern(m->line); |