From: Wayne Davison Date: Tue, 6 Jan 2004 05:33:02 +0000 (+0000) Subject: Fixed a byte-order problem for batch-file processing on big-endian X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/4a1991d7c50dedf8b994e53e20ef12b3d66a2e00 Fixed a byte-order problem for batch-file processing on big-endian systems (reported by Jay Fenlason). --- diff --git a/token.c b/token.c index 835c4785..da3a85b0 100644 --- a/token.c +++ b/token.c @@ -202,7 +202,7 @@ send_deflated_token(int f, int token, write_int(f, run_start); if (write_batch) { temp_byte = (char)(n==0? TOKEN_LONG: TOKENRUN_LONG); - write_batch_delta_file(&temp_byte,sizeof(temp_byte)); + write_batch_delta_file(&temp_byte,sizeof(char)); write_batch_delta_file((char *)&run_start,sizeof(run_start)); } } @@ -210,9 +210,10 @@ send_deflated_token(int f, int token, write_byte(f, n); write_byte(f, n >> 8); if (write_batch) { - write_batch_delta_file((char *)&n,sizeof(char)); + temp_byte = (char)n; + write_batch_delta_file(&temp_byte,sizeof(char)); temp_byte = (char)(n >> 8); - write_batch_delta_file(&temp_byte,sizeof(temp_byte)); + write_batch_delta_file(&temp_byte,sizeof(char)); } } last_run_end = last_token; @@ -285,7 +286,7 @@ send_deflated_token(int f, int token, write_byte(f, END_FLAG); if (write_batch) { temp_byte = END_FLAG; - write_batch_delta_file((char *)&temp_byte,sizeof(temp_byte)); + write_batch_delta_file(&temp_byte,sizeof(char)); } } else if (token != -2) {