From 58a582815f3fc8b30a0e3b1b0a7675ad658e4860 Mon Sep 17 00:00:00 2001 From: Ray Hayes Date: Sat, 22 Oct 2016 00:00:25 -0700 Subject: [PATCH] Fix formatting issues with prompt/memory release. --- contrib/win32/openssh/Win32-OpenSSH.VC.db | Bin 54562816 -> 54595584 bytes contrib/win32/win32compat/fileio.c | 4 +- contrib/win32/win32compat/misc.c | 2 +- contrib/win32/win32compat/w32fd.c | 8 +- sftp.c | 181 +++++++++++++++++++--- 5 files changed, 168 insertions(+), 27 deletions(-) diff --git a/contrib/win32/openssh/Win32-OpenSSH.VC.db b/contrib/win32/openssh/Win32-OpenSSH.VC.db index 4fda7fc814619a0d90c0a1b7dafb58bf576980f2..2b7ed30cf1e754ae3e3dc948fb5323ec2c95f195 100644 GIT binary patch delta 57320 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 delta 41476 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 z z-tD!OwZtV?{^HKG=Lt`v=qlwlsc#ewmTqXxj$H~X@oHI7v_7$y#I;LOiprFUm0TM} NmAt{sD0*7;e*h8%_ND*; diff --git a/contrib/win32/win32compat/fileio.c b/contrib/win32/win32compat/fileio.c index e9136f1..59a7d90 100644 --- a/contrib/win32/win32compat/fileio.c +++ b/contrib/win32/win32compat/fileio.c @@ -559,12 +559,12 @@ fileio_fstat(struct w32_io* pio, struct _stat64 *buf) { int fileio_stat(const char *path, struct _stat64 *buf) { - wchar_t* wpath[MAX_PATH]; + wchar_t wpath[MAX_PATH]; wchar_t* wtmp = NULL; if ((wtmp = utf8_to_utf16(path)) == NULL) fatal("failed to covert input arguments"); - strcpy(wpath, wtmp); + wcscpy(&wpath[0], wtmp); free(wtmp); return _wstat64(wpath, buf); diff --git a/contrib/win32/win32compat/misc.c b/contrib/win32/win32compat/misc.c index 855259e..130b85b 100644 --- a/contrib/win32/win32compat/misc.c +++ b/contrib/win32/win32compat/misc.c @@ -140,4 +140,4 @@ utf16_to_utf8(const wchar_t* utf16) { WideCharToMultiByte(CP_UTF8, 0, utf16, -1, utf8, needed, NULL, NULL) == 0) return NULL; return utf8; -} \ No newline at end of file +} diff --git a/contrib/win32/win32compat/w32fd.c b/contrib/win32/win32compat/w32fd.c index deda2b0..4140a39 100644 --- a/contrib/win32/win32compat/w32fd.c +++ b/contrib/win32/win32compat/w32fd.c @@ -36,6 +36,7 @@ #include #include #include +#include /* internal table that stores the fd to w32_io mapping*/ struct w32fd_table { @@ -438,11 +439,14 @@ int w32_chdir(const char *dirname_utf8) { char *w32_getcwd(char *buffer, int maxlen) { wchar_t wdirname[MAX_PATH]; + char* putf8 = NULL; - wchar_t *wpwd = _wgetcwd(wdirname, MAX_PATH); + wchar_t *wpwd = _wgetcwd(&wdirname[0], MAX_PATH); - if (buffer = utf16_to_utf8(wpwd)) + if ((putf8 = utf16_to_utf8(&wdirname[0])) == NULL) fatal("failed to convert input arguments"); + strcpy(buffer, putf8); + free(putf8); return buffer; } diff --git a/sftp.c b/sftp.c index 3cc2f2d..cab175c 100644 --- a/sftp.c +++ b/sftp.c @@ -655,10 +655,38 @@ process_get(struct sftp_conn *conn, char *src, char *dst, char *pwd, free(tmp); resume |= global_aflag; - if (!quiet && resume) + if (!quiet && resume) +#ifdef WINDOWS + { + printf("Resuming "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + printf(" to "); + free(wtmp); + wtmp = utf8_to_utf16(abs_dst); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else printf("Resuming %s to %s\n", g.gl_pathv[i], abs_dst); - else if (!quiet && !resume) - printf("Fetching %s to %s\n", g.gl_pathv[i], abs_dst); +#endif + else if (!quiet && !resume) +#ifdef WINDOWS + { + printf("Fetching "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + printf(" to "); + free(wtmp); + wtmp = utf8_to_utf16(abs_dst); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Fetching %s to %s\n", g.gl_pathv[i], abs_dst); +#endif if (pathname_is_dir(g.gl_pathv[i]) && (rflag || global_rflag)) { if (download_dir(conn, g.gl_pathv[i], abs_dst, NULL, pflag || global_pflag, 1, resume, @@ -745,12 +773,40 @@ process_put(struct sftp_conn *conn, char *src, char *dst, char *pwd, } free(tmp); - resume |= global_aflag; + resume |= global_aflag; if (!quiet && resume) +#ifdef WINDOWS + { + printf("Resuming upload of "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + printf(" to "); + free(wtmp); + wtmp = utf8_to_utf16(abs_dst); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else printf("Resuming upload of %s to %s\n", g.gl_pathv[i], abs_dst); +#endif else if (!quiet && !resume) +#ifdef WINDOWS + { + printf("Uploading "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + printf(" to "); + free(wtmp); + wtmp = utf8_to_utf16(abs_dst); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else printf("Uploading %s to %s\n", g.gl_pathv[i], abs_dst); +#endif if (pathname_is_dir(g.gl_pathv[i]) && (rflag || global_rflag)) { if (upload_dir(conn, g.gl_pathv[i], abs_dst, pflag || global_pflag, 1, resume, @@ -857,8 +913,7 @@ do_ls_dir(struct sftp_conn *conn, char *path, char *strip_path, int lflag) wchar_t* wtmp = utf8_to_utf16(lname); WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); - - free(tmp); + free(wtmp); #else printf("%s\n", lname); #endif @@ -969,11 +1024,26 @@ do_globbed_ls(struct sftp_conn *conn, char *path, char *strip_path, } lname = ls_file(fname, g.gl_statv[i], 1, (lflag & LS_SI_UNITS)); - printf("%s\n", lname); - free(lname); +#ifdef WINDOWS + wchar_t* wtmp = utf8_to_utf16(lname); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); +#else + printf("%s\n", lname); +#endif + free(lname); } else { - printf("%-*s", colspace, fname); - if (c >= columns) { +#ifdef WINDOWS + wchar_t* wtmp = utf8_to_utf16(fname); + // TODO: Deal with the sizing wprintf_s(L"%-*s", colspace, wtmp); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L" ", 1, 0, 0); + free(wtmp); +#else + printf("%-*s", colspace, fname); +#endif + if (c >= columns) { printf("\n"); c = 1; } else @@ -1500,8 +1570,18 @@ parse_dispatch_command(struct sftp_conn *conn, const char *cmd, char **pwd, path1 = make_absolute(path1, *pwd); remote_glob(conn, path1, GLOB_NOCHECK, NULL, &g); for (i = 0; g.gl_pathv[i] && !interrupted; i++) { - if (!quiet) - printf("Removing %s\n", g.gl_pathv[i]); + if (!quiet) +#ifdef WINDOWS + { + printf("Removing "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Removing %s\n", g.gl_pathv[i]); +#endif err = do_rm(conn, g.gl_pathv[i]); if (err != 0 && err_abort) break; @@ -1601,7 +1681,17 @@ parse_dispatch_command(struct sftp_conn *conn, const char *cmd, char **pwd, remote_glob(conn, path1, GLOB_NOCHECK, NULL, &g); for (i = 0; g.gl_pathv[i] && !interrupted; i++) { if (!quiet) - printf("Changing mode on %s\n", g.gl_pathv[i]); +#ifdef WINDOWS + { + printf("Changing mode on "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Changing mode on %s\n", g.gl_pathv[i]); +#endif err = do_setstat(conn, g.gl_pathv[i], &a); if (err != 0 && err_abort) break; @@ -1631,13 +1721,33 @@ parse_dispatch_command(struct sftp_conn *conn, const char *cmd, char **pwd, aa->flags &= SSH2_FILEXFER_ATTR_UIDGID; if (cmdnum == I_CHOWN) { if (!quiet) - printf("Changing owner on %s\n", - g.gl_pathv[i]); +#ifdef WINDOWS + { + printf("Changing owner on "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Changing owner on %s\n", + g.gl_pathv[i]); +#endif aa->uid = n_arg; } else { if (!quiet) - printf("Changing group on %s\n", - g.gl_pathv[i]); +#ifdef WINDOWS + { + printf("Changing group on "); + wchar_t* wtmp = utf8_to_utf16(g.gl_pathv[i]); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Changing group on %s\n", + g.gl_pathv[i]); +#endif aa->gid = n_arg; } err = do_setstat(conn, g.gl_pathv[i], aa); @@ -1646,10 +1756,17 @@ parse_dispatch_command(struct sftp_conn *conn, const char *cmd, char **pwd, } break; case I_PWD: +#ifdef WINDOWS printf("Remote working directory: "); - wchar_t* wtmp = utf8_to_utf16(*pwd); - WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); - WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + { + wchar_t* wtmp = utf8_to_utf16(*pwd); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Remote working directory: %s\n", *pwd); +#endif break; case I_LPWD: if (!getcwd(path_buf, sizeof(path_buf))) { @@ -1657,7 +1774,17 @@ parse_dispatch_command(struct sftp_conn *conn, const char *cmd, char **pwd, err = -1; break; } - printf("Local working directory: %s\n", path_buf); +#ifdef WINDOWS + printf("Local working directory: "); + { + wchar_t* wtmp = utf8_to_utf16(path_buf); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Local working directory: %s\n", path_buf); +#endif break; case I_QUIT: /* Processed below */ @@ -2110,7 +2237,17 @@ interactive_loop(struct sftp_conn *conn, char *file1, char *file2) if (remote_is_dir(conn, dir) && file2 == NULL) { if (!quiet) - printf("Changing to: %s\n", dir); +#ifdef WINDOWS + { + printf("Changing to: "); + wchar_t* wtmp = utf8_to_utf16(dir); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), wtmp, wcslen(wtmp), 0, 0); + WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), L"\n", 1, 0, 0); + free(wtmp); + } +#else + printf("Changing to: %s\n", dir); +#endif snprintf(cmd, sizeof cmd, "cd \"%s\"", dir); if (parse_dispatch_command(conn, cmd, &remote_path, 1) != 0) {