<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 27.12.2012, at 19:49, Howard Hinnant wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On Dec 25, 2012, at 11:54 AM, Saleem Abdulrasool <<a href="mailto:compnerd@compnerd.org">compnerd@compnerd.org</a>> wrote:<br><font class="Apple-style-span" color="#006312"><br></font><blockquote type="cite">@@ -4583,7 +4584,7 @@<br></blockquote><blockquote type="cite"> string<br></blockquote><blockquote type="cite"> __time_get_storage<char>::__analyze(char fmt, const ctype<char>& ct)<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite">-    tm t = {0};<br></blockquote><blockquote type="cite">+    tm t = {0,0,0,0,0,0,0,0,0,0,0};<br></blockquote><blockquote type="cite">     t.tm_sec = 59;<br></blockquote><blockquote type="cite">     t.tm_min = 55;<br></blockquote><blockquote type="cite">     t.tm_hour = 23;<br></blockquote><blockquote type="cite">@@ -4729,7 +4730,7 @@<br></blockquote><blockquote type="cite"> wstring<br></blockquote><blockquote type="cite"> __time_get_storage<wchar_t>::__analyze(char fmt, const ctype<wchar_t>& ct)<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite">-    tm t = {0};<br></blockquote><blockquote type="cite">+    tm t = {0,0,0,0,0,0,0,0,0,0,0};<br></blockquote><blockquote type="cite">     t.tm_sec = 59;<br></blockquote><blockquote type="cite">     t.tm_min = 55;<br></blockquote><blockquote type="cite">     t.tm_hour = 23;<br></blockquote><br>Rejected.  tm contains *at least* 9 int data members.  The portable and concise way to zero initialize this struct is with the single {0}.<br></div></blockquote></div><br><div>For C++, isn't {} a better initializer? Unlike in C, in C++ (even 98) an empty initializer list is valid, and it means the right thing. It could also be that GCC doesn't emit a warning in this case.</div><div><br></div><div>Sebastian</div></body></html>