Fix gcc-11 warnings
gcc-11 introduces several warnings.
Most interesting is the will to police array args, and distinguish these two
struct blah_s {
...
};
typedef struct blah_s blah_t[1];
typedef struct blah_s * blah_ptr;
void foo(blah_t x);
void foo(blah_ptr x);