On Mon, Feb 06, 2017 at 02:26:20PM +0100, Thierry Reding wrote:
quoted
+#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