Hi Paul,
I agree with you that the compiler's complaint is incorrect.
"%a" isn't a valid format specifier.
"%as" is a valid format specifier, and it takes an address of an
uninitialized char pointer, which will be set to a malloc'd value
sufficient to hold the character array.
Also note (http://www.rt.com/man/scanf.3.html), the "a" modifier is not
part of ANSI C. It's a GNU libc extension.
Good catch! File a bug.
--Eljay