(Sorry for the delayed response)
>>>>> On Wed, 11 Sep 2002 15:29:42 -0700,
>>>>> Michael Hunter <[EMAIL PROTECTED]> said:
> It would be easier to use if a c99 flexible array member was the last
> element:
> /* Type 0 Routing header */
> struct ip6_rthdr0 {
> uint8_t ip6r0_nxt; /* next header */
> uint8_t ip6r0_len; /* length in units of 8 octets */
> uint8_t ip6r0_type; /* always zero */
> uint8_t ip6r0_segleft; /* segments left */
> uint32_t ip6r0_reserved; /* reserved field */
> #if __STDC_VERSION__ >= 199901L
> struct in6_addr ip6r0_addr[0]; /* up to 127 addresses */
> #endif
> };
Sorry, but I don't think we should incorporate this to the
specification. If an application writer assumes the existence of
ip6r0_addr, the source code will not compile with a compiler that
does not support the flexible array member. However, I don't want to
see conditional compilation tricks like this:
struct ip6_rthdr0 *r;
struct in6_addr *in6;
#if __STDC_VERSION__ >= 199901L
in6 = &r->ip6r0_addr[0];
#else
in6 = (struct in6_addr *)(r + 1);
#endif
JINMEI, Tatuya
Communication Platform Lab.
Corporate R&D Center, Toshiba Corp.
[EMAIL PROTECTED]
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page: http://playground.sun.com/ipng
FTP archive: ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------