summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2022-10-20 18:58:06 +0900
committerRyo Nakamura <upa@haeena.net>2022-10-20 18:58:06 +0900
commit808069ab9dc57dbebcf46d0ff95114581cb5315c (patch)
tree1c719853f59f9b43a1b0b0f2466ce4daba54e6c2 /src/main.c
parentdef9cfeba74357ca98fc25469d4285139ecd42ce (diff)
implement chunk fill
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 0771bbd..8f7f0fb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -18,6 +18,7 @@ struct sscp {
sftp_session ctrl; /* control sftp session */
struct list_head file_list;
+ struct list_head chunk_list;
char *target;
bool target_is_remote;
};
@@ -109,6 +110,7 @@ int main(int argc, char **argv)
memset(&opts, 0, sizeof(opts));
memset(&sscp, 0, sizeof(sscp));
INIT_LIST_HEAD(&sscp.file_list);
+ INIT_LIST_HEAD(&sscp.chunk_list);
while ((ch = getopt(argc, argv, "n:s:S:l:p:i:c:Cvh")) != -1) {
switch (ch) {
@@ -211,16 +213,29 @@ int main(int argc, char **argv)
return 1;
}
+ /* fill file list */
ret = file_fill(sscp.ctrl, &sscp.file_list, &argv[optind], argc - optind - 1);
if (ret < 0) {
ssh_sftp_close(sscp.ctrl);
return 1;
}
-
#ifdef DEBUG
file_dump(&sscp.file_list);
#endif
+ /* fill chunk list */
+ ret = chunk_fill(&sscp.file_list, &sscp.chunk_list,
+ nr_conn, min_chunk_sz, max_chunk_sz);
+ if (ret < 0) {
+ ssh_sftp_close(sscp.ctrl);
+ return 1;
+ }
+#ifdef DEBUG
+ chunk_dump(&sscp.chunk_list);
+#endif
+
+
+
ssh_sftp_close(sscp.ctrl);
return 0;
}