Commit 6f577906 by Edward Thomson

ssh urls: use `git_buf_decode_percent`

Use `git_buf_decode_percent` so that we can avoid allocating a temporary
buffer.
parent 8070a357
...@@ -64,7 +64,7 @@ static void ssh_error(LIBSSH2_SESSION *session, const char *errmsg) ...@@ -64,7 +64,7 @@ static void ssh_error(LIBSSH2_SESSION *session, const char *errmsg)
*/ */
static int gen_proto(git_buf *request, const char *cmd, const char *url) static int gen_proto(git_buf *request, const char *cmd, const char *url)
{ {
char *repo; const char *repo;
int len; int len;
size_t i; size_t i;
...@@ -89,19 +89,17 @@ done: ...@@ -89,19 +89,17 @@ done:
return -1; return -1;
} }
repo = gitno_unescape(git__strdup(repo));
len = strlen(cmd) + 1 /* Space */ + 1 /* Quote */ + strlen(repo) + 1 /* Quote */ + 1; len = strlen(cmd) + 1 /* Space */ + 1 /* Quote */ + strlen(repo) + 1 /* Quote */ + 1;
git_buf_grow(request, len); git_buf_grow(request, len);
git_buf_printf(request, "%s '%s'", cmd, repo); git_buf_puts(request, cmd);
git_buf_putc(request, '\0'); git_buf_puts(request, " '");
git_buf_decode_percent(request, repo, strlen(repo));
git__free(repo); git_buf_puts(request, "'");
if (git_buf_oom(request)) if (git_buf_oom(request))
return -1; return -1;
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment