From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15633 invoked from network); 18 Jul 2001 13:51:30 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 18 Jul 2001 13:51:30 -0000 Received: (qmail 13103 invoked by alias); 18 Jul 2001 13:51:24 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 15409 Received: (qmail 13092 invoked from network); 18 Jul 2001 13:51:23 -0000 From: Sven Wischnowsky Date: Wed, 18 Jul 2001 15:51:09 +0200 (MET DST) Message-Id: <200107181351.PAA07644@beta.informatik.hu-berlin.de> To: zsh-workers@sunsite.dk Subject: Re: PATCH: Re: long/short options In-Reply-To: <000001c10f90$0877a2d0$21c9ca95@mow.siemens.ru> Andrej Borsenkow wrote: > bor@itsrm2% zsh > bor@itsrm2% gdiff -bTAB > zsh: bus error (core dumped) zsh Ouch. Sets without matches are possible. Sorry. Thanks. Bye Sven Index: Src/Zle/computil.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/Zle/computil.c,v retrieving revision 1.63 diff -u -r1.63 computil.c --- Src/Zle/computil.c 2001/07/18 13:10:10 1.63 +++ Src/Zle/computil.c 2001/07/18 13:50:04 @@ -213,7 +213,7 @@ freecdsets(cd_state.sets); return 1; } - for (strp = &(set->strs); *ap; ap++) { + for (str = NULL, strp = &(set->strs); *ap; ap++) { *strp = str = (Cdstr) zalloc(sizeof(*str)); strp = &(str->next); @@ -231,7 +231,8 @@ *tmp = '\0'; str->str = str->match = ztrdup(rembslash(*ap)); } - str->next = NULL; + if (str) + str->next = NULL; if (*++args && **args != '-') { if (!(ap = get_user_var(*args))) { -- Sven Wischnowsky wischnow@informatik.hu-berlin.de