On Fri, Apr 05, 2013 at 03:51:47PM -0300, Lucas De Marchi wrote: > On Fri, Apr 5, 2013 at 2:50 PM, Lennart Poettering > <lenn...@poettering.net> wrote: > > On Sun, 31.03.13 15:57, Zbigniew Jędrzejewski-Szmek (zbys...@in.waw.pl) > > wrote: > > > >> Hi everyone, > >> I'm pretty sure this a good step, but just in case, I'm posting > >> here for review (more of the general idea, not the specifics, > >> because the patch is pretty well checked by the compiler...). > >> > >> Zbyszek > >> > >> ---- patch ---- > >> > >> Before, we would initialize many fields twice: first > >> by filling the structure with zeros, and then a second > >> time with the real values. We can let the compiler do > >> the job for us, avoiding one copy. > > > > Hmm, I assumed the compiler would handle memset on its own anyway these > > days, at least if you specifiy -O2 or so... Did you try with > > optimization on? > > > >> else { > >> - struct sched_param p; > >> + struct sched_param p = {}; > >> > >> - zero(p); > > > > I would have assumed that particularly in cases like this the compiler > > would generate the exact same code... Mayb I am overestimating gcc's > > handling of memset however... > > > > One could argue that zeroing out the struct in this particular case is > > totally unnecessary anyway, and we could just get rid of it entirely... > > > >> if (sched_getparam(0, &p) >= 0) > >> n = p.sched_priority; > >> - union sockaddr_union sa; > >> + union sockaddr_union sa = { > >> + .un.sun_family = AF_UNIX, > >> + .un.sun_path = "/run/systemd/journal/stdout", > >> + }; > > > > For cases like this, this definitely appears worthwile! (It makes things > > more readable even...) > > > >> struct sock_filter *f; > >> - struct sock_fprog prog; > >> + struct sock_fprog prog = {}; > > > > I wonder if we should have a macro for this... {} looks so ugly... or > > maybe not... > > it doesn't when you get used to it ;-) Yeah, I think that it's not bad. Also it's simple enough to be hard to get wrong :)
Zbyszek _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel