]> andersk Git - openssh.git/commitdiff
- djm@cvs.openbsd.org 2007/09/16 00:55:52
authordjm <djm>
Mon, 17 Sep 2007 06:12:03 +0000 (06:12 +0000)
committerdjm <djm>
Mon, 17 Sep 2007 06:12:03 +0000 (06:12 +0000)
     [sftp-client.c]
     use off_t instead of u_int64_t for file offsets, matching what the
     progressmeter code expects; bz #842

ChangeLog
sftp-client.c

index a89301213b8689824d220f8b489a6a9d6c9b414f..9f9f9045178c0b57237ab959bb0175d0c2c6aa33 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
    - djm@cvs.openbsd.org 2007/09/13 04:39:04
      [sftp-server.c]
      fix incorrect test when setting syslog facility; from Jan Pechanec
+   - djm@cvs.openbsd.org 2007/09/16 00:55:52
+     [sftp-client.c]
+     use off_t instead of u_int64_t for file offsets, matching what the
+     progressmeter code expects; bz #842
 
 20070914
  - (dtucker) [openbsd-compat/bsd-asprintf.c] Plug mem leak in error path.
index 2746f32457a992db712476ad8966d11ab67ee64a..c12d1d38ed4294a072d0db54e274aed3a56bf2f4 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-client.c,v 1.76 2007/01/22 11:32:50 djm Exp $ */
+/* $OpenBSD: sftp-client.c,v 1.77 2007/09/16 00:55:52 djm Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *
@@ -994,7 +994,7 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path,
 {
        int local_fd, status;
        u_int handle_len, id, type;
-       u_int64_t offset;
+       off_t offset;
        char *handle, *data;
        Buffer msg;
        struct stat sb;
@@ -1004,7 +1004,7 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path,
        struct outstanding_ack {
                u_int id;
                u_int len;
-               u_int64_t offset;
+               off_t offset;
                TAILQ_ENTRY(outstanding_ack) tq;
        };
        TAILQ_HEAD(ackhead, outstanding_ack) acks;
@@ -1143,12 +1143,14 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path,
                                status = -1;
                                goto done;
                        }
-                       debug3("In write loop, ack for %u %u bytes at %llu",
-                           ack->id, ack->len, (unsigned long long)ack->offset);
+                       debug3("In write loop, ack for %u %u bytes at %lld",
+                           ack->id, ack->len, (long long)ack->offset);
                        ++ackid;
                        xfree(ack);
                }
                offset += len;
+               if (offset < 0)
+                       fatal("%s: offset < 0", __func__);
        }
        if (showprogress)
                stop_progress_meter();
This page took 0.295752 seconds and 5 git commands to generate.