@@ -66,7 +66,7 @@ static NORETURN void die_initial_contact(int unexpected)
6666}
6767
6868/* Checks if the server supports the capability 'c' */
69- int server_supports_v2 (const char * c , int die_on_error )
69+ int server_supports_v2 (const char * c )
7070{
7171 int i ;
7272
@@ -76,11 +76,13 @@ int server_supports_v2(const char *c, int die_on_error)
7676 (!* out || * out == '=' ))
7777 return 1 ;
7878 }
79+ return 0 ;
80+ }
7981
80- if (die_on_error )
82+ void ensure_server_supports_v2 (const char * c )
83+ {
84+ if (!server_supports_v2 (c ))
8185 die (_ ("server doesn't support '%s'" ), c );
82-
83- return 0 ;
8486}
8587
8688int server_feature_v2 (const char * c , const char * * v )
@@ -477,7 +479,7 @@ static void send_capabilities(int fd_out, struct packet_reader *reader)
477479{
478480 const char * hash_name ;
479481
480- if (server_supports_v2 ("agent" , 0 ))
482+ if (server_supports_v2 ("agent" ))
481483 packet_write_fmt (fd_out , "agent=%s" , git_user_agent_sanitized ());
482484
483485 if (server_feature_v2 ("object-format" , & hash_name )) {
@@ -504,17 +506,18 @@ struct ref **get_remote_refs(int fd_out, struct packet_reader *reader,
504506 & transport_options -> unborn_head_target : NULL ;
505507 * list = NULL ;
506508
507- if ( server_supports_v2 ( "ls-refs" , 1 ))
508- packet_write_fmt (fd_out , "command=ls-refs\n" );
509+ ensure_server_supports_v2 ( "ls-refs" );
510+ packet_write_fmt (fd_out , "command=ls-refs\n" );
509511
510512 /* Send capabilities */
511513 send_capabilities (fd_out , reader );
512514
513- if (server_options && server_options -> nr &&
514- server_supports_v2 ("server-option" , 1 ))
515+ if (server_options && server_options -> nr ) {
516+ ensure_server_supports_v2 ("server-option" );
515517 for (i = 0 ; i < server_options -> nr ; i ++ )
516518 packet_write_fmt (fd_out , "server-option=%s" ,
517519 server_options -> items [i ].string );
520+ }
518521
519522 packet_delim (fd_out );
520523 /* When pushing we don't want to request the peeled tags */
0 commit comments