[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash 3.0 Official Patch 8
From: |
William Park |
Subject: |
Re: Bash 3.0 Official Patch 8 |
Date: |
8 Sep 2004 21:43:09 GMT |
User-agent: |
tin/1.6.2-20030910 ("Pabbay") (UNIX) (Linux/2.6.7 (i686)) |
Chet Ramey <chet@nike.ins.cwru.edu> wrote:
> BASH PATCH REPORT
> =================
>
> Bash-Release: 3.0
> Patch-ID: bash30-008
>
> Bug-Reported-by: uberlord@rsm.demon.co.uk
> Bug-Reference-ID: <1092327965.4233.1.camel@uberlaptop.ubernet>
> Bug-Reference-URL:
> http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00144.html
>
> Bug-Description:
>
> > Description:
> > Bash 3 breaks array expansion
> >
> > Repeat-By:
> > #!/bin/bash
> > x=(one two)
> > echo ${x[@]:1}
> > # prints nothing in bash 3
> > # prints two in bash 2
>
> Patch:
>
> *** ../bash-3.0/subst.c Sun Jul 4 13:56:13 2004
> --- subst.c Thu Aug 12 13:36:17 2004
> ***************
> *** 4892,4896 ****
> *e1p += len;
>
> ! if (*e1p >= len || *e1p < 0)
> return (-1);
>
> --- 4912,4916 ----
> *e1p += len;
>
> ! if (*e1p > len || *e1p < 0)
> return (-1);
>
>
Still causing problem with
echo ${x[*]: -1}
Try
- len = array_max_index (a); /* arrays index from 0 to n - 1 */
+ len = array_max_index (a) + 1; /* arrays index from 0 to n - 1 */
few lines up.
--
William Park <opengeometry@yahoo.ca>
Open Geometry Consulting, Toronto, Canada