qemu-e2k/net
Philippe Mathieu-Daudé f7795e4096 misc: Replace zero-length arrays with flexible array member (automatic)
Description copied from Linux kernel commit from Gustavo A. R. Silva
(see [3]):

--v-- description start --v--

  The current codebase makes use of the zero-length array language
  extension to the C90 standard, but the preferred mechanism to
  declare variable-length types such as these ones is a flexible
  array member [1], introduced in C99:

  struct foo {
      int stuff;
      struct boo array[];
  };

  By making use of the mechanism above, we will get a compiler
  warning in case the flexible array does not occur last in the
  structure, which will help us prevent some kind of undefined
  behavior bugs from being unadvertenly introduced [2] to the
  Linux codebase from now on.

--^-- description end --^--

Do the similar housekeeping in the QEMU codebase (which uses
C99 since commit 7be41675f7).

All these instances of code were found with the help of the
following Coccinelle script:

  @@
  identifier s, m, a;
  type t, T;
  @@
   struct s {
      ...
      t m;
  -   T a[0];
  +   T a[];
  };
  @@
  identifier s, m, a;
  type t, T;
  @@
   struct s {
      ...
      t m;
  -   T a[0];
  +   T a[];
   } QEMU_PACKED;

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=76497732932f
[3] https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/?id=17642a2fbd2c1

Inspired-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 22:07:42 +01:00
..
can qemu_log_lock/unlock now preserves the qemu_logfile handle. 2019-12-18 20:18:02 +00:00
Makefile.objs build-sys: link with slirp as an external project 2019-03-07 12:46:31 +01:00
announce.c net/announce: Add optional ID 2019-07-02 10:21:06 +08:00
checksum.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
clients.h Drop superfluous includes of qapi-types.h and test-qapi-types.h 2018-02-09 05:05:11 +01:00
colo-compare.c COLO-compare: Fix incorrect `if` logic 2019-10-29 10:28:07 +08:00
colo-compare.h colo-compare: use notifier to notify packets comparing result 2018-10-19 11:15:03 +08:00
colo.c net: do not depend on slirp internals 2019-01-14 00:44:29 +01:00
colo.h Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
dump.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
eth.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
filter-buffer.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
filter-mirror.c chardev: Use QEMUChrEvent enum in IOEventHandler typedef 2020-01-08 11:15:35 +01:00
filter-replay.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
filter-rewriter.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
filter.c net/filter.c: Add Options to insert filters anywhere in the filter list 2020-03-03 18:04:47 +08:00
hub.c net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
hub.h net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
l2tpv3.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
net.c net/net: Clean up variable shadowing in net_client_init() 2019-12-18 08:36:16 +01:00
netmap.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
queue.c misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
slirp.c net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
socket.c net/socket: learn to talk with a unix dgram socket 2019-03-29 15:22:18 +08:00
tap-bsd.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
tap-linux.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
tap-linux.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
tap-solaris.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
tap-stub.c net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c 2017-05-23 10:10:38 +08:00
tap-win32.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
tap.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
tap_int.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
trace-events trace: Remove trailing newline in events 2019-09-18 10:19:47 +01:00
util.c net: Clean up includes 2016-02-04 17:41:30 +00:00
util.h net: do not depend on slirp internals 2019-01-14 00:44:29 +01:00
vde.c net/vde: print error on vde_open() failure 2018-03-26 14:52:43 +08:00
vhost-user-stub.c vhost-net-user: add stubs for when no virtio-net device is present 2019-02-21 12:28:01 -05:00
vhost-user.c chardev: Use QEMUChrEvent enum in IOEventHandler typedef 2020-01-08 11:15:35 +01:00