http-walker: simplify process_alternates_response() using strbuf
PATCH 1/1 http-walker: simplify process_alternates_response() using strbuf
Use strbuf to build the new base, which takes care of allocations and the terminating NUL character automatically.
Signed-off-by Rene Scharfe <[email protected]>
--- http-walker.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-)
http-walker.c +6 -9
@@ -230,7 +230,6 @@ static void process_alternates_response(void *callback_data)int okay =0 ;int serverlen =0 ;struct alt_base *newalt; -char *target =NULL ;if (data[i] =='/' ) {/* * This counts
@@ -287,17 +286,15 @@ static void process_alternates_response(void *callback_data) }/* skip "objects\n" at end */ if (okay) { - target =xmalloc (serverlen + posn - i -6 ); -memcpy (target, base, serverlen); -memcpy (target + serverlen, data + i, - posn - i -7 ); - target[serverlen + posn - i -7 ] =0 ; +struct strbuf target =STRBUF_INIT ; +strbuf_add (&target, base, serverlen); +strbuf_add (&target, data + i, posn - i -7 );if (walker->get_verbosely) -fprintf (stderr, -"Also look at %s\n" , target); +fprintf (stderr,"Also look at %s\n" , + target.buf); newalt =xmalloc (sizeof (*newalt)); newalt->next =NULL ; - newalt->base = target; + newalt->base =strbuf_detach (&target,NULL ); newalt->got_indices =0 ; newalt->packs =NULL ;
Signature · 1 line
2.1.0