]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
prop250: Don't use {0} to init static struct -- causes warning on clang.
authorGeorge Kadianakis <desnacked@riseup.net>
Wed, 25 May 2016 09:28:40 +0000 (12:28 +0300)
committerDavid Goulet <dgoulet@torproject.org>
Fri, 1 Jul 2016 18:01:41 +0000 (14:01 -0400)
See ticket #19132 for the clang/llvm warning.

Since voting_schedule is a global static struct, it will be initialized
to zero even without explicitly initializing it with {0}.

This is what the C spec says:

If an object that has automatic storage duration is not initialized
explicitly, its value is indeterminate. If an object that has static
storage duration is not initialized explicitly, then:

— if it has pointer type, it is initialized to a null pointer;
— if it has arithmetic type, it is initialized to (positive or unsigned) zero;
— if it is an aggregate, every member is initialized (recursively) according to these rules;
— if it is a union, the first named member is initialized (recursively) according to these rules.

src/or/dirvote.c

index 4eccdd0611bf9ee7ea1183dc259f42753fa699ca..50713318bd3a1acee389cea140c38203c3e8c6cd 100644 (file)
@@ -2545,7 +2545,7 @@ get_next_valid_after_time(time_t now)
   return next_valid_after_time;
 }
 
-static voting_schedule_t voting_schedule = {0};
+static voting_schedule_t voting_schedule;
 
 /** Set voting_schedule to hold the timing for the next vote we should be
  * doing. */