variant length array?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I come across the following code in a kernel module code. It defines an array whose length is variant at runtime, depending on the actual inputs. It seems that kernel compiler supports this, which is obvious an error in the standard ANSI C. Do I have the correct understanding on it?


Thank you.


u32 rxe_icrc_hdr(struct rxe_pkt_info *pkt, struct sk_buff *skb)
{
         ...
         int hdr_size = sizeof(struct udphdr) +
                 (skb->protocol == htons(ETH_P_IP) ?
                 sizeof(struct iphdr) : sizeof(struct ipv6hdr));
         u8 tmp[hdr_size + RXE_BTH_BYTES];
         ...
}


Cheers,
 
Wenda Ni, Ph.D.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux