[Spice-devel] [PATCH 05/22] Replace C-style initialization with shorter C++-style

Christophe de Dinechin christophe at dinechin.org
Wed Feb 28 15:43:08 UTC 2018


From: Christophe de Dinechin <dinechin at redhat.com>

The proper C++ equivalent of
    struct foo x;
    memset(&x, 0, sizeof(x));
is
    struct foo x = {};

Not only is it shorter, it is also safer for any non-POD type, since
it will not overwrite vtable pointers, incorrectly zero
pointer-to-member fields, or clobber default initializations if any
was specified in the struct/class. So it is overall a good habit to
take to avoid mistakes if the C style was copy-pasted for C++ structs.

Signed-off-by: Christophe de Dinechin <dinechin at redhat.com>
---
 src/spice-streaming-agent.cpp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp
index 7304576..acae939 100644
--- a/src/spice-streaming-agent.cpp
+++ b/src/spice-streaming-agent.cpp
@@ -291,9 +291,7 @@ static void handle_interrupt(int intr)
 
 static void register_interrupts(void)
 {
-    struct sigaction sa;
-
-    memset(&sa, 0, sizeof(sa));
+    struct sigaction sa = { };
     sa.sa_handler = handle_interrupt;
     if ((sigaction(SIGINT, &sa, NULL) != 0) &&
         (sigaction(SIGTERM, &sa, NULL) != 0)) {
-- 
2.13.5 (Apple Git-94)



More information about the Spice-devel mailing list