@@ -240,23 +240,23 @@ static int s_update_ref(const char *action,
240
240
241
241
static int update_local_ref (struct ref * ref ,
242
242
const char * remote ,
243
- char * display )
243
+ struct strbuf * display )
244
244
{
245
245
struct commit * current = NULL , * updated ;
246
246
enum object_type type ;
247
247
struct branch * current_branch = branch_get (NULL );
248
248
const char * pretty_ref = prettify_refname (ref -> name );
249
249
250
- * display = 0 ;
251
250
type = sha1_object_info (ref -> new_sha1 , NULL );
252
251
if (type < 0 )
253
252
die (_ ("object %s not found" ), sha1_to_hex (ref -> new_sha1 ));
254
253
255
254
if (!hashcmp (ref -> old_sha1 , ref -> new_sha1 )) {
256
255
if (verbosity > 0 )
257
- sprintf (display , "= %-*s %-*s -> %s" , TRANSPORT_SUMMARY_WIDTH ,
258
- _ ("[up to date]" ), REFCOL_WIDTH , remote ,
259
- pretty_ref );
256
+ strbuf_addf (display , "= %-*s %-*s -> %s" ,
257
+ TRANSPORT_SUMMARY_WIDTH ,
258
+ _ ("[up to date]" ), REFCOL_WIDTH ,
259
+ remote , pretty_ref );
260
260
return 0 ;
261
261
}
262
262
@@ -268,19 +268,22 @@ static int update_local_ref(struct ref *ref,
268
268
* If this is the head, and it's not okay to update
269
269
* the head, and the old value of the head isn't empty...
270
270
*/
271
- sprintf (display , _ ("! %-*s %-*s -> %s (can't fetch in current branch)" ),
272
- TRANSPORT_SUMMARY_WIDTH , _ ("[rejected]" ), REFCOL_WIDTH , remote ,
273
- pretty_ref );
271
+ strbuf_addf (display ,
272
+ _ ("! %-*s %-*s -> %s (can't fetch in current branch)" ),
273
+ TRANSPORT_SUMMARY_WIDTH , _ ("[rejected]" ),
274
+ REFCOL_WIDTH , remote , pretty_ref );
274
275
return 1 ;
275
276
}
276
277
277
278
if (!is_null_sha1 (ref -> old_sha1 ) &&
278
279
!prefixcmp (ref -> name , "refs/tags/" )) {
279
280
int r ;
280
281
r = s_update_ref ("updating tag" , ref , 0 );
281
- sprintf (display , "%c %-*s %-*s -> %s%s" , r ? '!' : '-' ,
282
- TRANSPORT_SUMMARY_WIDTH , _ ("[tag update]" ), REFCOL_WIDTH , remote ,
283
- pretty_ref , r ? _ (" (unable to update local ref)" ) : "" );
282
+ strbuf_addf (display , "%c %-*s %-*s -> %s%s" ,
283
+ r ? '!' : '-' ,
284
+ TRANSPORT_SUMMARY_WIDTH , _ ("[tag update]" ),
285
+ REFCOL_WIDTH , remote , pretty_ref ,
286
+ r ? _ (" (unable to update local ref)" ) : "" );
284
287
return r ;
285
288
}
286
289
@@ -303,9 +306,11 @@ static int update_local_ref(struct ref *ref,
303
306
}
304
307
305
308
r = s_update_ref (msg , ref , 0 );
306
- sprintf (display , "%c %-*s %-*s -> %s%s" , r ? '!' : '*' ,
307
- TRANSPORT_SUMMARY_WIDTH , what , REFCOL_WIDTH , remote , pretty_ref ,
308
- r ? _ (" (unable to update local ref)" ) : "" );
309
+ strbuf_addf (display , "%c %-*s %-*s -> %s%s" ,
310
+ r ? '!' : '*' ,
311
+ TRANSPORT_SUMMARY_WIDTH , what ,
312
+ REFCOL_WIDTH , remote , pretty_ref ,
313
+ r ? _ (" (unable to update local ref)" ) : "" );
309
314
return r ;
310
315
}
311
316
@@ -319,9 +324,11 @@ static int update_local_ref(struct ref *ref,
319
324
(recurse_submodules != RECURSE_SUBMODULES_ON ))
320
325
check_for_new_submodule_commits (ref -> new_sha1 );
321
326
r = s_update_ref ("fast-forward" , ref , 1 );
322
- sprintf (display , "%c %-*s %-*s -> %s%s" , r ? '!' : ' ' ,
323
- TRANSPORT_SUMMARY_WIDTH , quickref , REFCOL_WIDTH , remote ,
324
- pretty_ref , r ? _ (" (unable to update local ref)" ) : "" );
327
+ strbuf_addf (display , "%c %-*s %-*s -> %s%s" ,
328
+ r ? '!' : ' ' ,
329
+ TRANSPORT_SUMMARY_WIDTH , quickref ,
330
+ REFCOL_WIDTH , remote , pretty_ref ,
331
+ r ? _ (" (unable to update local ref)" ) : "" );
325
332
return r ;
326
333
} else if (force || ref -> force ) {
327
334
char quickref [84 ];
@@ -333,15 +340,17 @@ static int update_local_ref(struct ref *ref,
333
340
(recurse_submodules != RECURSE_SUBMODULES_ON ))
334
341
check_for_new_submodule_commits (ref -> new_sha1 );
335
342
r = s_update_ref ("forced-update" , ref , 1 );
336
- sprintf (display , "%c %-*s %-*s -> %s (%s)" , r ? '!' : '+' ,
337
- TRANSPORT_SUMMARY_WIDTH , quickref , REFCOL_WIDTH , remote ,
338
- pretty_ref ,
339
- r ? _ ("unable to update local ref" ) : _ ("forced update" ));
343
+ strbuf_addf (display , "%c %-*s %-*s -> %s (%s)" ,
344
+ r ? '!' : '+' ,
345
+ TRANSPORT_SUMMARY_WIDTH , quickref ,
346
+ REFCOL_WIDTH , remote , pretty_ref ,
347
+ r ? _ ("unable to update local ref" ) : _ ("forced update" ));
340
348
return r ;
341
349
} else {
342
- sprintf (display , "! %-*s %-*s -> %s %s" ,
343
- TRANSPORT_SUMMARY_WIDTH , _ ("[rejected]" ), REFCOL_WIDTH , remote ,
344
- pretty_ref , _ ("(non-fast-forward)" ));
350
+ strbuf_addf (display , "! %-*s %-*s -> %s %s" ,
351
+ TRANSPORT_SUMMARY_WIDTH , _ ("[rejected]" ),
352
+ REFCOL_WIDTH , remote , pretty_ref ,
353
+ _ ("(non-fast-forward)" ));
345
354
return 1 ;
346
355
}
347
356
}
@@ -363,8 +372,8 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,
363
372
{
364
373
FILE * fp ;
365
374
struct commit * commit ;
366
- int url_len , i , note_len , shown_url = 0 , rc = 0 ;
367
- char note [ 1024 ] ;
375
+ int url_len , i , shown_url = 0 , rc = 0 ;
376
+ struct strbuf note = STRBUF_INIT ;
368
377
const char * what , * kind ;
369
378
struct ref * rm ;
370
379
char * url , * filename = dry_run ? "/dev/null" : git_path ("FETCH_HEAD" );
@@ -427,41 +436,42 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,
427
436
if (4 < i && !strncmp (".git" , url + i - 3 , 4 ))
428
437
url_len = i - 3 ;
429
438
430
- note_len = 0 ;
439
+ strbuf_reset ( & note ) ;
431
440
if (* what ) {
432
441
if (* kind )
433
- note_len += sprintf (note + note_len , "%s " ,
434
- kind );
435
- note_len += sprintf (note + note_len , "'%s' of " , what );
442
+ strbuf_addf (& note , "%s " , kind );
443
+ strbuf_addf (& note , "'%s' of " , what );
436
444
}
437
- note [note_len ] = '\0' ;
438
445
fprintf (fp , "%s\t%s\t%s" ,
439
446
sha1_to_hex (commit ? commit -> object .sha1 :
440
447
rm -> old_sha1 ),
441
448
rm -> merge ? "" : "not-for-merge" ,
442
- note );
449
+ note . buf );
443
450
for (i = 0 ; i < url_len ; ++ i )
444
451
if ('\n' == url [i ])
445
452
fputs ("\\n" , fp );
446
453
else
447
454
fputc (url [i ], fp );
448
455
fputc ('\n' , fp );
449
456
457
+ strbuf_reset (& note );
450
458
if (ref ) {
451
- rc |= update_local_ref (ref , what , note );
459
+ rc |= update_local_ref (ref , what , & note );
452
460
free (ref );
453
461
} else
454
- sprintf (note , "* %-*s %-*s -> FETCH_HEAD" ,
455
- TRANSPORT_SUMMARY_WIDTH , * kind ? kind : "branch" ,
456
- REFCOL_WIDTH , * what ? what : "HEAD" );
457
- if (* note ) {
462
+ strbuf_addf (& note , "* %-*s %-*s -> FETCH_HEAD" ,
463
+ TRANSPORT_SUMMARY_WIDTH ,
464
+ * kind ? kind : "branch" ,
465
+ REFCOL_WIDTH ,
466
+ * what ? what : "HEAD" );
467
+ if (note .len ) {
458
468
if (verbosity >= 0 && !shown_url ) {
459
469
fprintf (stderr , _ ("From %.*s\n" ),
460
470
url_len , url );
461
471
shown_url = 1 ;
462
472
}
463
473
if (verbosity >= 0 )
464
- fprintf (stderr , " %s\n" , note );
474
+ fprintf (stderr , " %s\n" , note . buf );
465
475
}
466
476
}
467
477
@@ -471,6 +481,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,
471
481
"branches" ), remote_name );
472
482
473
483
abort :
484
+ strbuf_release (& note );
474
485
free (url );
475
486
fclose (fp );
476
487
return rc ;
0 commit comments