From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20488 invoked from network); 4 Mar 1999 07:52:12 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 4 Mar 1999 07:52:12 -0000 Received: (qmail 2714 invoked by alias); 4 Mar 1999 07:51:33 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 5631 Received: (qmail 2705 invoked from network); 4 Mar 1999 07:51:31 -0000 Date: Thu, 4 Mar 1999 08:50:47 +0100 (MET) Message-Id: <199903040750.IAA01987@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Bart Schaefer's message of Wed, 3 Mar 1999 16:49:45 -0800 (PST) Subject: Re: Worrisome warnings after recent patches Bart Schaefer wrote (in a mail directly to me): > ../../../zsh-3.1.5/Src/Zle/zle_tricky.c: In function `join_strs': > ../../../zsh-3.1.5/Src/Zle/zle_tricky.c:1803: warning: `mp' might be used uninitialized in this function > ../../../zsh-3.1.5/Src/Zle/zle_tricky.c: In function `join_ends': > ../../../zsh-3.1.5/Src/Zle/zle_tricky.c:1930: warning: `tn' might be used uninitialized in this function > > ... [ more of these warnings ] The first one really was wrong, but in the other cases the variables could not have been used uninitialized, partly due to the calling context but in most cases due to the tests in the functions themselves. Bye Sven diff -u os/Zle/zle_tricky.c Src/Zle/zle_tricky.c --- os/Zle/zle_tricky.c Wed Mar 3 17:22:42 1999 +++ Src/Zle/zle_tricky.c Thu Mar 4 08:44:58 1999 @@ -1873,7 +1873,7 @@ if (!t) break; } else { - if (rr <= mp->llen) { + if (rr <= 1) { char *or = rs; rs = realloc(rs, (rl += 20)); @@ -1927,7 +1927,7 @@ } else { /* Different anchors, see if we can find matching anchors * further down the lists. */ - Cline to, tn; + Cline to, tn = NULL; int t = 0; /* But first build the common prefix. */ @@ -3414,6 +3414,7 @@ } } while (ll && lw) { + t = 0; /* First try the matchers. */ for (ms = mstack; ms; ms = ms->next) { for (mp = ms->matcher; mp; mp = mp->next) { @@ -3655,6 +3656,7 @@ } } while (ll && lw) { + t = 0; for (ms = mstack; ms; ms = ms->next) { for (mp = ms->matcher; mp; mp = mp->next) { if (lm == mp) @@ -3984,11 +3986,12 @@ char *suf, char *group, char *rems, char *remf, char *ign, int flags, int aflags, Cmatcher match, char *exp, char **argv) { - char *s, *t, *e, *me, *ms, *lipre = NULL, *lpre, *lsuf, **aign = NULL; - int lpl, lsl, i, pl, sl, test, bpl, bsl, llpl, llsl; - Aminfo ai; + char *s, *t, *e, *me, *ms, *lipre = NULL, *lpre = NULL, *lsuf = NULL; + char **aign = NULL; + int lpl, lsl, i, pl, sl, test, bpl, bsl, llpl = 0, llsl = 0; + Aminfo ai = NULL; Cline lc = NULL; - LinkList l; + LinkList l = NULL; Cmatch cm; struct cmlist mst; Cmlist oms = mstack; @@ -4132,7 +4135,7 @@ } /* Walk through the matches given. */ for (; (s = dupstring(*argv)); argv++) { - sl = strlen(s); + sl = pl = strlen(s); lc = NULL; ms = NULL; bpl = brpl; @@ -5742,7 +5745,7 @@ Compcond or, cc; Comp comp; int compadd, m = 0, d = 0, t, tt, i, j, a, b; - char *sc, *s, *ss; + char *sc = NULL, *s, *ss; /* This loops over the patterns separated by `-'s. */ for (compc = occ->ext; compc; compc = compc->next) { @@ -7871,7 +7874,7 @@ } } else if (g->lcount) { - int n = g->lcount, nl = (n + ncols - 1) / ncols, nc = nl, i, j, a; + int n = g->lcount, nl = (n + ncols - 1) / ncols, nc = nl, i, j, a = 0; Cmatch *q; if (n && pnl) { -- Sven Wischnowsky wischnow@informatik.hu-berlin.de