diff options
author | Valery Kartel <valery.kartel@gmail.com> | 2017-03-07 12:42:31 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2017-03-23 16:50:49 +0000 |
commit | adecf80bc8f761eaf58245d98a41801e5b62c3d9 (patch) | |
tree | 524775b07e22752313b9e5b5392fd966a8135231 /main/openssh/openssh7.4-peaktput.patch | |
parent | d92d0c148dfe07c0dd08351fe7a72d5004e123ea (diff) | |
download | aports-adecf80bc8f761eaf58245d98a41801e5b62c3d9.tar.bz2 aports-adecf80bc8f761eaf58245d98a41801e5b62c3d9.tar.xz |
main/openssh: fix patches
fix hpn patches which was unintentionally disabled with commit
756f181a5 (main/openssh: support cross building and use default_prepare)
rename *.diff to *.patch because *.diff are ignored by default_prepare
Diffstat (limited to 'main/openssh/openssh7.4-peaktput.patch')
-rw-r--r-- | main/openssh/openssh7.4-peaktput.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/main/openssh/openssh7.4-peaktput.patch b/main/openssh/openssh7.4-peaktput.patch new file mode 100644 index 0000000000..6fc6140a6e --- /dev/null +++ b/main/openssh/openssh7.4-peaktput.patch @@ -0,0 +1,62 @@ +--- a/progressmeter.c ++++ b/progressmeter.c +@@ -69,6 +69,8 @@ + static off_t start_pos; /* initial position of transfer */ + static off_t end_pos; /* ending position of transfer */ + static off_t cur_pos; /* transfer position as of last refresh */ ++static off_t last_pos; ++static off_t max_delta_pos = 0; + static volatile off_t *counter; /* progress counter */ + static long stalled; /* how long we have been stalled */ + static int bytes_per_second; /* current speed in bytes per second */ +@@ -128,12 +130,17 @@ + int hours, minutes, seconds; + int i, len; + int file_len; ++ off_t delta_pos; + + transferred = *counter - (cur_pos ? cur_pos : start_pos); + cur_pos = *counter; + now = monotime_double(); + bytes_left = end_pos - cur_pos; + ++ delta_pos = cur_pos - last_pos; ++ if (delta_pos > max_delta_pos) ++ max_delta_pos = delta_pos; ++ + if (bytes_left > 0) + elapsed = now - last_update; + else { +@@ -158,7 +165,7 @@ + + /* filename */ + buf[0] = '\0'; +- file_len = win_size - 35; ++ file_len = win_size - 45; + if (file_len > 0) { + len = snprintf(buf, file_len + 1, "\r%s", file); + if (len < 0) +@@ -188,6 +195,15 @@ + (off_t)bytes_per_second); + strlcat(buf, "/s ", win_size); + ++ /* instantaneous rate */ ++ if (bytes_left > 0) ++ format_rate(buf + strlen(buf), win_size - strlen(buf), ++ delta_pos); ++ else ++ format_rate(buf + strlen(buf), win_size - strlen(buf), ++ max_delta_pos); ++ strlcat(buf, "/s ", win_size); ++ + /* ETA */ + if (!transferred) + stalled += elapsed; +@@ -224,6 +240,7 @@ + + atomicio(vwrite, STDOUT_FILENO, buf, win_size - 1); + last_update = now; ++ last_pos = cur_pos; + } + + /*ARGSUSED*/ |