On Wed, 17 Aug 2005, Joe Orton wrote: > On Tue, Aug 16, 2005 at 01:49:55AM -0500, William Rowe wrote: > > At 09:24 PM 8/15/2005, Garrett Rooney wrote: > > >So back in Dec 2003 Sander Striker suggested [1] adding Subversion's > > >macros for manipulating apr arrays (APR_ARRAY_IDX, which automates the > > >casting needed to access entries in the array, and APR_ARRAY_PUSH, which > > >automates the casting needed to add entries to the array) to apr_tables.h. > > > Roy Fielding commented [2] that he felt the macros tied the interface to > > >the implementation too much, and Greg Stein replied [3] that they had to > > >be done as macros, not functions, because of the need to pass a type name > > >for the cast. > > > > IIUC, these are not typesafe? > > APR arrays are fundamentally not type-safe object stores. > > In case it's not clear, these are the macros in question: > > /** index into an apr_array_header_t */ > #define APR_ARRAY_IDX(ary,i,type) (((type *)(ary)->elts)[i]) > > /** easier array-pushing syntax */ > #define APR_ARRAY_PUSH(ary,type) (*((type *)apr_array_push (ary)))
I'm fine with adding these. +1 --Cliff