=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/scp.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- src/usr.bin/ssh/scp.c 1999/09/30 21:25:03 1.6 +++ src/usr.bin/ssh/scp.c 1999/10/02 18:33:56 1.7 @@ -42,11 +42,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scp.c,v 1.6 1999/09/30 21:25:03 aaron Exp $ + * $Id: scp.c,v 1.7 1999/10/02 18:33:56 deraadt Exp $ */ #include "includes.h" -RCSID("$Id: scp.c,v 1.6 1999/09/30 21:25:03 aaron Exp $"); +RCSID("$Id: scp.c,v 1.7 1999/10/02 18:33:56 deraadt Exp $"); #include "ssh.h" #include "xmalloc.h" @@ -280,6 +280,9 @@ if ((pwd = getpwuid(userid = getuid())) == NULL) fatal("unknown user %d", (int)userid); + if (! isatty(STDERR_FILENO)) + showprogress = 0; + remin = STDIN_FILENO; remout = STDOUT_FILENO; @@ -773,6 +776,11 @@ } cp = bp->buf; wrerr = NO; + + if (showprogress) { + totalbytes = size; + progressmeter(-1); + } for (count = i = 0; i < size; i += 4096) { amt = 4096; if (i + amt > size) @@ -787,6 +795,7 @@ } amt -= j; cp += j; + statbytes += j; } while (amt > 0); if (count == bp->cnt) { /* Keep reading so we stay sync'd up. */ @@ -801,6 +810,8 @@ cp = bp->buf; } } + if (showprogress) + progressmeter(1); if (count != 0 && wrerr == NO && (j = write(ofd, bp->buf, count)) != count) { wrerr = YES; @@ -949,7 +960,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scp.c,v 1.6 1999/09/30 21:25:03 aaron Exp $ + * $Id: scp.c,v 1.7 1999/10/02 18:33:56 deraadt Exp $ */ char *