Skip to content
  • Jeff King's avatar
    convert manual allocations to argv_array · 850d2fec
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    There are many manual argv allocations that predate the
    argv_array API. Switching to that API brings a few
    advantages:
    
      1. We no longer have to manually compute the correct final
         array size (so it's one less thing we can screw up).
    
      2. In many cases we had to make a separate pass to count,
         then allocate, then fill in the array. Now we can do it
         in one pass, making the code shorter and easier to
         follow.
    
      3. argv_array handles memory ownership for us, making it
         more obvious when things should be free()d and and when
         not.
    
    Most of these cases are pretty straightforward. In some, we
    switch from "run_command_v" to "run_command" which lets us
    directly use the argv_array embedded in "struct
    child_process".
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    850d2fec