From 0a91579b943b5499bc5266f0a665189c1fd2b9b4 Mon Sep 17 00:00:00 2001 From: manojampalam Date: Fri, 21 Oct 2016 22:15:14 -0700 Subject: [PATCH] Temporary fixes to scp.exe and sftp.exe to work if started from any directory. Currently they only work if started from their root directory --- scp.c | 4 ++++ sftp.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/scp.c b/scp.c index 67997f2..e59a167 100644 --- a/scp.c +++ b/scp.c @@ -3082,6 +3082,10 @@ int start_process_io(char *exename, char **argv, char **envv, ctr = 0; cmdbuf[0] = '\0'; + if (argv[0][0] != '\0' && argv[0][1] != ':') { + strcat(cmdbuf, w32_programdir()); + strcat(cmdbuf, "\\"); + } while (argv[ctr]) { strcat_s(cmdbuf, sizeof(cmdbuf), argv[ctr]); strcat_s(cmdbuf, sizeof(cmdbuf), " "); diff --git a/sftp.c b/sftp.c index 980c519..5e17179 100644 --- a/sftp.c +++ b/sftp.c @@ -2219,6 +2219,11 @@ connect_to_server(char *path, char **args, int *in, int *out) STARTUPINFO si = { 0 }; debug3("Generating ssh-client command..."); + fullCmd[0] = '\0'; + if (path[0] != '\0' && path[1] != ':') { + strncat(fullCmd, w32_programdir(), MAX_PATH); + strncat(fullCmd, "\\", MAX_PATH); + } strncat(fullCmd, path, MAX_PATH); for (i = 1; args[i]; i++) {