[Spice-devel] [PATCH x11spice] Fix compliation on gcc 4.X.

Uri Lublin uril at redhat.com
Wed Mar 11 18:27:56 UTC 2020


Hi,

Thanks for the ping on IRC.

On 9/17/19 7:23 PM, Jeremy White wrote:
> gcc 4.x warns if you use a { 0 } initialization construct
> for a structure with an initial member that is also a struct.
> 
> The { } construct is simpler and appears to work on a wider
> range of gcc versions.

On my Fedora 31, gcc (version 9.2.1) does complain about {} but not 
about {0}
when built with -Wpedantic (see simple program below).


Does {0, } works better for you ?


================

#include <stdio.h>

struct S {int a, b; };

void print_s(struct S* ps)
{
	if (!ps) { printf("null\n"); return; }
	printf("(%d, %d)\n", ps->a, ps->b);
}

int main ()
{
         struct S s = { };

         print_s(&s);
	return 0;
}


================

Uri.

> 
> This is a correction to fdfdf1107be100b983de1bff4beee8e6360f670b
> 
> Signed-off-by: Jeremy White <jwhite at codeweavers.com>
> ---
>   src/gui.c    | 2 +-
>   src/listen.c | 2 +-
>   src/main.c   | 2 +-
>   src/spice.c  | 2 +-
>   4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/gui.c b/src/gui.c
> index 88acf5c9..3c26b864 100644
> --- a/src/gui.c
> +++ b/src/gui.c
> @@ -147,7 +147,7 @@ void session_disconnect_client(session_t *session)
>   int main(int argc, char *argv[])
>   {
>       gui_t gui;
> -    session_t session = { 0 };
> +    session_t session = { };
>   
>       setlocale(LC_ALL, "");
>       gui_create(&gui, &session, argc, argv);
> diff --git a/src/listen.c b/src/listen.c
> index 452fd81f..76c0798a 100644
> --- a/src/listen.c
> +++ b/src/listen.c
> @@ -117,7 +117,7 @@ int listen_parse(const char *listen_spec, char **addr, int *port_start, int *por
>   static int try_port(const char *addr, int port)
>   {
>       static const int on = 1, off = 0;
> -    struct addrinfo ai = { 0 }, *res, *e;
> +    struct addrinfo ai = { }, *res, *e;
>       char portbuf[33];
>       int sock, rc;
>   
> diff --git a/src/main.c b/src/main.c
> index 71cbb465..890ff133 100644
> --- a/src/main.c
> +++ b/src/main.c
> @@ -55,7 +55,7 @@ int main(int argc, char *argv[])
>   {
>       int rc;
>   
> -    session_t session = { 0 };
> +    session_t session = { };
>   
>       int display_opened = 0;
>       int spice_started = 0;
> diff --git a/src/spice.c b/src/spice.c
> index 08a5d09a..561c85ff 100644
> --- a/src/spice.c
> +++ b/src/spice.c
> @@ -474,7 +474,7 @@ static int send_monitors_config(spice_t *s, int w, int h)
>   
>   int spice_create_primary(spice_t *s, int w, int h, int bytes_per_line, void *shmaddr)
>   {
> -    QXLDevSurfaceCreate surface = { 0 };
> +    QXLDevSurfaceCreate surface = { };
>   
>       surface.height = h;
>       surface.width = w;
> 



More information about the Spice-devel mailing list