[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Sat Jul 4 23:18:56 UTC 2020


The branch, master has been updated
       via  2bee3075 Get rid of some superfluous lz4 code.
       via  85e62c33 Tweak indentation.
      from  0add026a Initialize values string in a more consistent spot.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 2bee307592a880eddf156a127955a1f6e9b99cd3
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sat Jul 4 15:58:56 2020 -0700

    Get rid of some superfluous lz4 code.

commit 85e62c330dcf60fbad7ab6604fbfebcc585adaf3
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sat Jul 4 15:27:47 2020 -0700

    Tweak indentation.

-----------------------------------------------------------------------

Summary of changes:
 token.c | 188 ++++++++++++++++++++++------------------------------------------
 1 file changed, 64 insertions(+), 124 deletions(-)


Changeset truncated at 500 lines:

diff --git a/token.c b/token.c
index 68d9bde3..f15637e4 100644
--- a/token.c
+++ b/token.c
@@ -376,8 +376,7 @@ send_deflated_token(int f, int32 token, struct map_struct *buf, OFF_T offset, in
 		flush_pending = 0;
 	} else if (last_token == -2) {
 		run_start = token;
-	} else if (nb != 0 || token != last_token + 1
-		   || token >= run_start + 65536) {
+	} else if (nb != 0 || token != last_token + 1 || token >= run_start + 65536) {
 		/* output previous run */
 		r = run_start - last_run_end;
 		n = last_token - run_start;
@@ -679,7 +678,6 @@ static void send_zstd_token(int f, int32 token, struct map_struct *buf, OFF_T of
 
 	/* initialization */
 	if (!comp_init_done) {
-
 		zstd_cctx = ZSTD_createCCtx();
 		if (!zstd_cctx) {
 			rprintf(FERROR, "compression init failed\n");
@@ -700,10 +698,7 @@ static void send_zstd_token(int f, int32 token, struct map_struct *buf, OFF_T of
 		flush_pending = 0;
 	} else if (last_token == -2) {
 		run_start = token;
-
-	} else if (nb != 0 || token != last_token + 1
-		   || token >= run_start + 65536) {
-
+	} else if (nb != 0 || token != last_token + 1 || token >= run_start + 65536) {
 		/* output previous run */
 		r = run_start - last_run_end;
 		n = last_token - run_start;
@@ -785,7 +780,6 @@ static int32 recv_zstd_token(int f, char **data)
 	int r;
 
 	if (!decomp_init_done) {
-
 		zstd_dctx = ZSTD_createDCtx();
 		if (!zstd_dctx) {
 			rprintf(FERROR, "ZSTD_createDStream failed\n");
@@ -803,30 +797,31 @@ static int32 recv_zstd_token(int f, char **data)
 		decomp_init_done = 1;
 	}
 
-	do {
-	switch (recv_state) {
-	case r_init:
-		recv_state = r_idle;
-		rx_token = 0;
-		break;
-
-	case r_idle:
-		flag = read_byte(f);
-		if ((flag & 0xC0) == DEFLATED_DATA) {
-			n = ((flag & 0x3f) << 8) + read_byte(f);
-			read_buf(f, cbuf, n);
+	for (;;) {
+		switch (recv_state) {
+		case r_init:
+			recv_state = r_idle;
+			rx_token = 0;
+			break;
 
-			zstd_in_buff.size = n;
-			zstd_in_buff.pos = 0;
+		case r_idle:
+			flag = read_byte(f);
+			if ((flag & 0xC0) == DEFLATED_DATA) {
+				n = ((flag & 0x3f) << 8) + read_byte(f);
+				read_buf(f, cbuf, n);
 
-			recv_state = r_inflating;
+				zstd_in_buff.size = n;
+				zstd_in_buff.pos = 0;
 
-		} else if (flag == END_FLAG) {
-			/* that's all folks */
-			recv_state = r_init;
-			return 0;
+				recv_state = r_inflating;
+				break;
+			}
 
-		} else {
+			if (flag == END_FLAG) {
+				/* that's all folks */
+				recv_state = r_init;
+				return 0;
+			}
 			/* here we have a token of some kind */
 			if (flag & TOKEN_REL) {
 				rx_token += flag & 0x3f;
@@ -839,45 +834,42 @@ static int32 recv_zstd_token(int f, char **data)
 				recv_state = r_running;
 			}
 			return -1 - rx_token;
-		}
-		break;
 
-	case r_inflating:
-		zstd_out_buff.size = out_buffer_size;
-		zstd_out_buff.pos = 0;
+		case r_inflated: /* zstd doesn't get into this state */
+			break;
 
-		r = ZSTD_decompressStream(zstd_dctx, &zstd_out_buff, &zstd_in_buff);
-		n = zstd_out_buff.pos;
-		if (ZSTD_isError(r)) {
-			rprintf(FERROR, "ZSTD decomp returned %d (%d bytes)\n", r, n);
-			exit_cleanup(RERR_STREAMIO);
-		}
+		case r_inflating:
+			zstd_out_buff.size = out_buffer_size;
+			zstd_out_buff.pos = 0;
 
-		/*
-		 * If the input buffer is fully consumed and the output
-		 * buffer is not full then next step is to read more
-		 * data.
-		 */
-		if (zstd_in_buff.size == zstd_in_buff.pos && n < out_buffer_size)
-			recv_state = r_idle;
+			r = ZSTD_decompressStream(zstd_dctx, &zstd_out_buff, &zstd_in_buff);
+			n = zstd_out_buff.pos;
+			if (ZSTD_isError(r)) {
+				rprintf(FERROR, "ZSTD decomp returned %d (%d bytes)\n", r, n);
+				exit_cleanup(RERR_STREAMIO);
+			}
 
-		if (n != 0) {
-			*data = dbuf;
-			return n;
-		}
-		break;
+			/*
+			 * If the input buffer is fully consumed and the output
+			 * buffer is not full then next step is to read more
+			 * data.
+			 */
+			if (zstd_in_buff.size == zstd_in_buff.pos && n < out_buffer_size)
+				recv_state = r_idle;
 
-	case r_running:
-		++rx_token;
-		if (--rx_run == 0)
-			recv_state = r_idle;
-		return -1 - rx_token;
-		break;
+			if (n != 0) {
+				*data = dbuf;
+				return n;
+			}
+			break;
 
-	case r_inflated:
-		break;
+		case r_running:
+			++rx_token;
+			if (--rx_run == 0)
+				recv_state = r_idle;
+			return -1 - rx_token;
+		}
 	}
-	} while (1);
 }
 #endif /* SUPPORT_ZSTD */
 
@@ -899,8 +891,7 @@ send_compressed_token(int f, int32 token, struct map_struct *buf, OFF_T offset,
 		flush_pending = 0;
 	} else if (last_token == -2) {
 		run_start = token;
-	} else if (nb != 0 || token != last_token + 1
-		   || token >= run_start + 65536) {
+	} else if (nb != 0 || token != last_token + 1 || token >= run_start + 65536) {
 		/* output previous run */
 		r = run_start - last_run_end;
 		n = last_token - run_start;
@@ -925,7 +916,6 @@ send_compressed_token(int f, int32 token, struct map_struct *buf, OFF_T offset,
 		const char *next_in;
 
 		do {
-			char *ptr = obuf;
 			char *next_out = obuf + 2;
 
 			if (available_out == 0) {
@@ -940,10 +930,10 @@ send_compressed_token(int f, int32 token, struct map_struct *buf, OFF_T offset,
 				exit_cleanup(RERR_STREAMIO);
 			}
 			if (available_out <= MAX_DATA_COUNT) {
-				ptr[0] = DEFLATED_DATA + (available_out >> 8);
-				ptr[1] = available_out;
+				obuf[0] = DEFLATED_DATA + (available_out >> 8);
+				obuf[1] = available_out;
 
-				write_buf(f, ptr, available_out + 2);
+				write_buf(f, obuf, available_out + 2);
 
 				available_out = 0;
 				nb -= available_in;
@@ -952,14 +942,14 @@ send_compressed_token(int f, int32 token, struct map_struct *buf, OFF_T offset,
 		} while (nb != 0);
 		flush_pending = token == -2;
 	}
-	if (token == -1)
+	if (token == -1) {
 		/* end of file - clean up */
 		write_byte(f, END_FLAG);
+	}
 }
 
 static int32 recv_compressed_token(int f, char **data)
 {
-	static int32 saved_flag;
 	static int init_done;
 	int32 n, flag;
 	int size = MAX(LZ4_compressBound(CHUNK_SIZE), MAX_DATA_COUNT+2);
@@ -978,13 +968,9 @@ static int32 recv_compressed_token(int f, char **data)
 			recv_state = r_idle;
 			rx_token = 0;
 			break;
+
 		case r_idle:
-		case r_inflated:
-			if (saved_flag) {
-				flag = saved_flag & 0xff;
-				saved_flag = 0;
-			} else
-				flag = read_byte(f);
+			flag = read_byte(f);
 			if ((flag & 0xC0) == DEFLATED_DATA) {
 				n = ((flag & 0x3f) << 8) + read_byte(f);
 				read_buf(f, cbuf, n);
@@ -994,9 +980,6 @@ static int32 recv_compressed_token(int f, char **data)
 				break;
 			}
 
-			if (recv_state == r_inflated)
-				recv_state = r_idle;
-
 			if (flag == END_FLAG) {
 				/* that's all folks */
 				recv_state = r_init;
@@ -1022,10 +1005,13 @@ static int32 recv_compressed_token(int f, char **data)
 				rprintf(FERROR, "uncompress failed: %d\n", avail_out);
 				exit_cleanup(RERR_STREAMIO);
 			}
-			recv_state = r_inflated;
+			recv_state = r_idle;
 			*data = dbuf;
 			return avail_out;
 
+		case r_inflated: /* lz4 doesn't get into this state */
+			break;
+
 		case r_running:
 			++rx_token;
 			if (--rx_run == 0)
@@ -1033,53 +1019,7 @@ static int32 recv_compressed_token(int f, char **data)
 			return -1 - rx_token;
 		}
 	}
-
-}
-
-# if 0
-static void see_uncompressed_token(char *buf, int32 len)
-{
-	static const char *next_in;
-	static int avail_in;
-	int avail_out;
-
-	int32 blklen;
-	char hdr[5];
-
-	avail_in = 0;
-	blklen = 0;
-	hdr[0] = 0;
-	do {
-		if (avail_in == 0 && len != 0) {
-			if (blklen == 0) {
-				/* Give it a fake stored-block header. */
-				next_in = hdr;
-				avail_in = 5;
-				blklen = len;
-				if (blklen > 0xffff)
-					blklen = 0xffff;
-				hdr[1] = blklen;
-				hdr[2] = blklen >> 8;
-				hdr[3] = ~hdr[1];
-				hdr[4] = ~hdr[2];
-			} else {
-				next_in = (char *)buf;
-				avail_in = blklen;
-				if (protocol_version >= 31) /* Newer protocols avoid a data-duplicating bug */
-					buf += blklen;
-				len -= blklen;
-				blklen = 0;
-			}
-		}
-		avail_out = LZ4_decompress_safe(next_in, dbuf, avail_in, LZ4_compressBound(CHUNK_SIZE));
-		if (avail_out < 0) {
-			rprintf(FERROR, "uncompress failed: %d\n", avail_out);
-			exit_cleanup(RERR_STREAMIO);
-		}
-
-	} while (len);
 }
-# endif /* 0 */
 #endif /* SUPPORT_LZ4 */
 
 /**


-- 
The rsync repository.



More information about the rsync-cvs mailing list