connect: move no_fork fallback to git_tcp_connect
commit8e349780ecb9bcec52c7df22fcbfb4afd0d7936c
authorJonathan Nieder <jrnieder@gmail.com>
Mon, 20 Nov 2017 21:22:54 +0000 (20 13:22 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Nov 2017 05:01:02 +0000 (21 14:01 +0900)
tree5fb040204fb6d89cd332a8fdc77231f98f8db9b2
parent8339805b467ca5b2d9314fdbfdd75a6e96c6b39a
connect: move no_fork fallback to git_tcp_connect

git_connect has the structure

struct child_process *conn = &no_fork;

...
switch (protocol) {
case PROTO_GIT:
if (git_use_proxy(hostandport))
conn = git_proxy_connect(fd, hostandport);
else
git_tcp_connect(fd, hostandport, flags);
...
break;
case PROTO_SSH:
conn = xmalloc(sizeof(*conn));
child_process_init(conn);
argv_array_push(&conn->args, ssh);
...
break;
...
return conn;

In all cases except the git_tcp_connect case, conn is explicitly
assigned a value. Make the code clearer by explicitly assigning
'conn = &no_fork' in the tcp case and eliminating the default so the
compiler can ensure conn is always correctly assigned.

Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
connect.c