mirror of
git://anongit.mindrot.org/openssh.git
synced 2025-04-27 05:38:25 +00:00
upstream: factor out a structure duplicated between downloading
and crossloading; ok markus@ OpenBSD-Commit-ID: 96eede24d520569232086a129febe342e4765d39
This commit is contained in:
parent
318c06bb04
commit
48cd39b7a4
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: sftp-client.c,v 1.145 2021/08/07 00:02:41 djm Exp $ */
|
/* $OpenBSD: sftp-client.c,v 1.146 2021/08/07 00:07:18 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
|
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -100,6 +100,15 @@ struct sftp_conn {
|
|||||||
struct bwlimit bwlimit_in, bwlimit_out;
|
struct bwlimit bwlimit_in, bwlimit_out;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Tracks in-progress requests during file transfers */
|
||||||
|
struct request {
|
||||||
|
u_int id;
|
||||||
|
size_t len;
|
||||||
|
u_int64_t offset;
|
||||||
|
TAILQ_ENTRY(request) tq;
|
||||||
|
};
|
||||||
|
TAILQ_HEAD(requests, request);
|
||||||
|
|
||||||
static u_char *
|
static u_char *
|
||||||
get_handle(struct sftp_conn *conn, u_int expected_id, size_t *len,
|
get_handle(struct sftp_conn *conn, u_int expected_id, size_t *len,
|
||||||
const char *errfmt, ...) __attribute__((format(printf, 4, 5)));
|
const char *errfmt, ...) __attribute__((format(printf, 4, 5)));
|
||||||
@ -1339,13 +1348,7 @@ do_download(struct sftp_conn *conn, const char *remote_path,
|
|||||||
off_t progress_counter;
|
off_t progress_counter;
|
||||||
size_t handle_len;
|
size_t handle_len;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
struct request {
|
struct requests requests;
|
||||||
u_int id;
|
|
||||||
size_t len;
|
|
||||||
u_int64_t offset;
|
|
||||||
TAILQ_ENTRY(request) tq;
|
|
||||||
};
|
|
||||||
TAILQ_HEAD(reqhead, request) requests;
|
|
||||||
struct request *req;
|
struct request *req;
|
||||||
u_char type;
|
u_char type;
|
||||||
|
|
||||||
@ -2127,13 +2130,7 @@ do_crossload(struct sftp_conn *from, struct sftp_conn *to,
|
|||||||
off_t progress_counter;
|
off_t progress_counter;
|
||||||
u_char *from_handle, *to_handle;
|
u_char *from_handle, *to_handle;
|
||||||
size_t from_handle_len, to_handle_len;
|
size_t from_handle_len, to_handle_len;
|
||||||
struct request {
|
struct requests requests;
|
||||||
u_int id;
|
|
||||||
size_t len;
|
|
||||||
u_int64_t offset;
|
|
||||||
TAILQ_ENTRY(request) tq;
|
|
||||||
};
|
|
||||||
TAILQ_HEAD(reqhead, request) requests;
|
|
||||||
struct request *req;
|
struct request *req;
|
||||||
u_char type;
|
u_char type;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user