Skip to content
  • Jeff King's avatar
    convert "oidcmp() == 0" to oideq() · 4a7e27e9
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    Using the more restrictive oideq() should, in the long run,
    give the compiler more opportunities to optimize these
    callsites. For now, this conversion should be a complete
    noop with respect to the generated code.
    
    The result is also perhaps a little more readable, as it
    avoids the "zero is equal" idiom. Since it's so prevalent in
    C, I think seasoned programmers tend not to even notice it
    anymore, but it can sometimes make for awkward double
    negations (e.g., we can drop a few !!oidcmp() instances
    here).
    
    This patch was generated almost entirely by the included
    coccinelle patch. This mechanical conversion should be
    completely safe, because we check explicitly for cases where
    oidcmp() is compared to 0, which is what oideq() is doing
    under the hood. Note that we don't have to catch "!oidcmp()"
    separately; coccinelle's standard isomorphisms make sure the
    two are treated equivalently.
    
    I say "almost" because I did hand-edit the coccinelle output
    to fix up a few style violations (it mostly keeps the
    original formatting, but sometimes unwraps long lines).
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    4a7e27e9