How is the last item in myarray valid? Supposedly this is an "empty-terminated list". This is C code.
typedef struct sFoo
{
    char *a;
    char *b;
} SFOO;
static SFOO my_sfoo_array[] =
    {
        { 0x1000, 0x2000 },
        { 0x3000, 0x4000 },
        { }        /* what?! */
    };
Are the missing structure elements automatically supplied as 0, so that the last entry { } is really {0, 0}?
 
    