Hi David ,
I was curious to know . Generally is there a place where one can find
the patches for the relevant bugs ?
Do we maintain it somewhere ?
Thanks In Advance
Rohith
On Saturday 16 November 2013 07:08 AM, Mohan Gorai wrote:
Thanks Rohith / David for the patch.
cheers,
~gmr
On Sat, Nov 16, 2013 at 3:10 AM, David Korn <[email protected]
<mailto:[email protected]>> wrote:
That is the correct patch. Thanks.
On Fri, Nov 15, 2013 at 1:55 PM, Rohith <[email protected]
<mailto:[email protected]>> wrote:
Hi Mohan,
I have attached the patch file .
Hope it helps .
Thanks
Rohith
On Thursday 14 November 2013 03:51 PM, Mohan Gorai wrote:
Hi Josh,
Thanks for the response.
From the output below, I see that we do have the arrary
elements with the strings as index created. But, an extra
array member is being created for every multidimensional
associative array.
$ echo "${.sh.version}"
Version JM 93u 2011-02-08
$ typeset -A foo
$ typeset -A foo[bar]
$ typeset -A foo[baz]
$ foo[bar][cat]=1
$ foo[bar][dog]=2
$ foo[baz][mouse]=3
$ foo[baz][fish]=4
$ set | fgrep foo
_='foo[baz]'
foo=([bar]=([0]='' [cat]=1 [dog]=2) [baz]=([0]='' [fish]=4
[mouse]=3) )
$
But with the alpha release, I don't see the extra element.
$ echo "${.sh.version}"
Version AIJMP 93v- 2013-10-08
$ typeset -A foo
$ typeset -A foo[bar]
$ typeset -A foo[baz]
$ foo[bar][cat]=1
$ foo[bar][dog]=2
$ foo[baz][mouse]=3
$ foo[baz][fish]=4
$ set | fgrep foo
_='foo[baz]'
foo=([bar]=([cat]=1 [dog]=2) [baz]=([fish]=4 [mouse]=3) )
$
So it looks to me that ksh93 does support the associative
arrays with more than one dimension.
Am I missing something here?
Thanks,
~gmr
On Thu, Nov 14, 2013 at 3:16 PM, Joshuah Hurst
<[email protected] <mailto:[email protected]>> wrote:
On Thu, Nov 14, 2013 at 8:26 AM, Mohan Gorai
<[email protected] <mailto:[email protected]>> wrote:
> Hi ,
>
> I'm using to ksh93 scripts in my application to do
various jobs . while
> using double associative arrays i found the below :
>
> # typeset -A foo
> # typeset -A foo[bar]
> # typeset -A foo[baz]
> # foo[bar][cat]=1
> # foo[bar][dog]=2
> # foo[baz][mouse]=3
> # foo[baz][fish]=4
> # set | fgrep foo
> _='foo[baz]'
> foo=([bar]=([cat]=1 [dog]=2) [baz]=([0]='' [fish]=4
[mouse]=3) )
>
> <<== foo[baz][0] is inserted unexpectedly
>
> Found that it's being fixed in alpha release as part of
the below
>
> 12-08-20 A bug in which creating a two dimemsional
associative array could
> add an extra 0 element to the second subscript has
been fixed.
>
> could someone help me the patch file so that i can
patch my binary
> accordingly .
ksh93 does not support multidimensional associative arrays.
Only indexed multidimensional arrays are supported. If
you wish to do
the same for associative arrays just append the strings.
The 12-08-20 issue you're referring to was a bug which
tried to create
multidimensional indexed arrays using string as index,
which are
equivalent to the arithmetic value 0 if they are not
defined variables
yet and set -o nounset was not set.
Arguably the right fix here is that ksh93 should throw an
error if
someone tried to use an associative array with more than one
dimension.
Josh
_______________________________________________
ast-developers mailing list
[email protected]
<mailto:[email protected]>
http://lists.research.att.com/mailman/listinfo/ast-developers
_______________________________________________
ast-developers mailing list
[email protected]
<mailto:[email protected]>
http://lists.research.att.com/mailman/listinfo/ast-developers
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers