On Mon, Feb 06, 2017 at 02:26:20PM +0100, Thierry Reding wrote: > > +#define NUMARGS(...) (sizeof((int[]){__VA_ARGS__}) / sizeof(int)) > > +#define st7789v_send(ctx, cmd, ...) \ > > + st7789v_write_command_data(ctx, cmd, NUMARGS(__VA_ARGS__), \ > > + ##__VA_ARGS__) > > How is this going to work if any of the arguments happens to not be an > int? What if you have something like this: > > u8 value = 0x2; > > st7789v_write_command_data(ctx, cmd, 0x1, value, 0x3); > > ? Wouldn't that invalidly read "value" as int and wrongly increment the > ap by three bytes too many? Hmmm, it might be. I'll remove it, and take all your other changes into account. Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Attachment:
signature.asc
Description: PGP signature