X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/73cb6738b33846130c21f2903b2200fa3f1903ab..c9604e2115c28e7c0cf649f15f332e2911a47931:/io.c diff --git a/io.c b/io.c index 60062f90..60685757 100644 --- a/io.c +++ b/io.c @@ -36,7 +36,6 @@ extern int bwlimit; extern size_t bwlimit_writemax; extern int io_timeout; -extern int allowed_lull; extern int am_server; extern int am_daemon; extern int am_sender; @@ -47,7 +46,6 @@ extern int eol_nulls; extern int flist_eof; extern int list_only; extern int read_batch; -extern int csum_length; extern int protect_args; extern int checksum_seed; extern int protocol_version; @@ -60,7 +58,8 @@ extern int filesfrom_convert; extern iconv_t ic_send, ic_recv; #endif -const char phase_unknown[] = "unknown"; +int csum_length = SHORT_SUM_LENGTH; /* initial value */ +int allowed_lull = 0; int ignore_timeout = 0; int batch_fd = -1; int msgdone_cnt = 0; @@ -408,7 +407,7 @@ static void read_msg_fd(void) /* Read extra file list from receiver. */ assert(iobuf_in != NULL); assert(iobuf_f_in == fd); - if (verbose > 3) { + if (DEBUG_GTE(FLIST, 2)) { rprintf(FINFO, "[%s] receiving flist for dir %d\n", who_am_i(), IVAL(buf,0)); } @@ -512,7 +511,7 @@ static void mplex_write(int fd, enum msgcode code, const char *buf, size_t len, xbuf outbuf, inbuf; INIT_XBUF(outbuf, buffer + 4, 0, sizeof buffer - 4); - INIT_XBUF(inbuf, (char*)buf, len, -1); + INIT_XBUF(inbuf, (char*)buf, len, (size_t)-1); iconvbufs(ic_send, &inbuf, &outbuf, ICB_INCLUDE_BAD | ICB_INCLUDE_INCOMPLETE); @@ -629,8 +628,8 @@ static void whine_about_eof(int fd) } rprintf(FERROR, RSYNC_NAME ": connection unexpectedly closed " - "(%.0f bytes received so far) [%s]\n", - (double)stats.total_read, who_am_i()); + "(%s bytes received so far) [%s]\n", + big_num(stats.total_read, 0), who_am_i()); exit_cleanup(RERR_STREAMIO); } @@ -1092,10 +1091,9 @@ static int readfd_unbuffered(int fd, char *buf, size_t len) xbuf outbuf, inbuf; char ibuf[512]; int add_null = 0; - int pos = 0; INIT_CONST_XBUF(outbuf, line); - INIT_XBUF(inbuf, ibuf, 0, -1); + INIT_XBUF(inbuf, ibuf, 0, (size_t)-1); while (msg_bytes) { inbuf.len = msg_bytes > sizeof ibuf @@ -1107,7 +1105,6 @@ static int readfd_unbuffered(int fd, char *buf, size_t len) if (iconvbufs(ic_send, &inbuf, &outbuf, ICB_INCLUDE_BAD | ICB_INCLUDE_INCOMPLETE) < 0) goto overflow; - pos = -1; } if (add_null) { if (outbuf.len == outbuf.size) @@ -1354,6 +1351,7 @@ int read_vstring(int f, char *buf, int bufsize) * called by both the sender and the receiver. */ void read_sum_head(int f, struct sum_struct *sum) { + int32 max_blength = protocol_version < 30 ? OLD_MAX_BLOCK_SIZE : MAX_BLOCK_SIZE; sum->count = read_int(f); if (sum->count < 0) { rprintf(FERROR, "Invalid checksum count %ld [%s]\n", @@ -1361,7 +1359,7 @@ void read_sum_head(int f, struct sum_struct *sum) exit_cleanup(RERR_PROTOCOL); } sum->blength = read_int(f); - if (sum->blength < 0 || sum->blength > MAX_BLOCK_SIZE) { + if (sum->blength < 0 || sum->blength > max_blength) { rprintf(FERROR, "Invalid block length %ld [%s]\n", (long)sum->blength, who_am_i()); exit_cleanup(RERR_PROTOCOL);