parse_connect_url() checks if the path component of the URL is
empty and if so causes the program to die. As the function is to
be used at other call sites which do not require this check, move
up the error checking to the existing caller.
Signed-off-by: Patrick Steinhardt <redacted>
---
connect.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/connect.c b/connect.c
index bdbcee4..e8b813d 100644
--- a/connect.c
+++ b/connect.c
@@ -613,9 +613,6 @@ enum protocol parse_connect_url(const char *url_orig, char **ret_host,
else
path = strchr(end, separator);
- if (!path || !*path)
- die("No path specified. See 'man git-pull' for valid url syntax");
-
/*
* null-terminate hostname and point path to ~ for URL's like this:
* ssh://host.xz/~user/repo@@ -665,6 +662,9 @@ struct child_process *git_connect(int fd[2], const char *url,
signal(SIGCHLD, SIG_DFL);
protocol = parse_connect_url(url, &hostandport, &path);
+ if (!path || !*path)
+ die("No path specified. See 'man git-pull' for valid url syntax");
+
if ((flags & CONNECT_DIAG_URL) && (protocol != PROTO_SSH)) {
printf("Diag: url=%s\n", url ? url : "NULL");
printf("Diag: protocol=%s\n", prot_name(protocol));--
2.5.0