Skip to content
  • Zbigniew Jędrzejewski-Szmek's avatar
    Use initalization instead of explicit zeroing · b92bea5d
    Zbigniew Jędrzejewski-Szmek authored
    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.
    
    A downside of this patch is that text gets slightly
    bigger. This is because all zero() calls are effectively
    inlined:
    
    $ size build/.libs/systemd
             text    data     bss     dec     hex filename
    before 897737  107300    2560 1007597   f5fed build/.libs/systemd
    after  897873  107300    2560 1007733   f6075 build/.libs/systemd
    
    … actually less than 1‰.
    
    A few asserts that the parameter is not null had to be removed. I
    don't think this changes much, because first, it is quite unlikely
    for the assert to fail, and second, an immediate SEGV is almost as
    good as an assert.
    b92bea5d