Diff for /embedaddon/rsync/token.c between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2013/10/14 07:51:14 version 1.1.1.3, 2016/11/01 09:54:32
Line 3 Line 3
  *   *
  * Copyright (C) 1996 Andrew Tridgell   * Copyright (C) 1996 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras   * Copyright (C) 1996 Paul Mackerras
 * Copyright (C) 2003-2013 Wayne Davison * Copyright (C) 2003-2015 Wayne Davison
  *   *
  * This program is free software; you can redistribute it and/or modify   * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by   * it under the terms of the GNU General Public License as published by
Line 23 Line 23
 #include "itypes.h"  #include "itypes.h"
 #include <zlib.h>  #include <zlib.h>
   
 #ifndef Z_INSERT_ONLY  
 #define Z_INSERT_ONLY Z_SYNC_FLUSH  
 #endif  
   
 extern int do_compression;  extern int do_compression;
 extern int protocol_version;  extern int protocol_version;
 extern int module_id;  extern int module_id;
Line 406  send_deflated_token(int f, int32 token, struct map_str Line 402  send_deflated_token(int f, int32 token, struct map_str
         if (token == -1) {          if (token == -1) {
                 /* end of file - clean up */                  /* end of file - clean up */
                 write_byte(f, END_FLAG);                  write_byte(f, END_FLAG);
        } else if (token != -2) {        } else if (token != -2 && do_compression == 1) {
                 /* Add the data in the current block to the compressor's                  /* Add the data in the current block to the compressor's
                  * history and hash table. */                   * history and hash table. */
   #ifndef EXTERNAL_ZLIB
                 do {                  do {
                         /* Break up long sections in the same way that                          /* Break up long sections in the same way that
                          * see_deflate_token() does. */                           * see_deflate_token() does. */
Line 418  send_deflated_token(int f, int32 token, struct map_str Line 415  send_deflated_token(int f, int32 token, struct map_str
                         tx_strm.avail_in = n1;                          tx_strm.avail_in = n1;
                         if (protocol_version >= 31) /* Newer protocols avoid a data-duplicating bug */                          if (protocol_version >= 31) /* Newer protocols avoid a data-duplicating bug */
                                 offset += n1;                                  offset += n1;
                        do {                        tx_strm.next_out = (Bytef *) obuf;
                                tx_strm.next_out = (Bytef *) obuf;                        tx_strm.avail_out = AVAIL_OUT_SIZE(CHUNK_SIZE);
                                tx_strm.avail_out = AVAIL_OUT_SIZE(CHUNK_SIZE);                        r = deflate(&tx_strm, Z_INSERT_ONLY);
                                r = deflate(&tx_strm, Z_INSERT_ONLY);                        if (r != Z_OK || tx_strm.avail_in != 0) {
                                if (r != Z_OK) {                                rprintf(FERROR, "deflate on token returned %d (%d bytes left)\n",
                                        rprintf(FERROR, "deflate on token returned %d (%d bytes left)\n",                                        r, tx_strm.avail_in);
                                                r, tx_strm.avail_in);                                exit_cleanup(RERR_STREAMIO);
                                        exit_cleanup(RERR_STREAMIO);                        }
                                } 
                        } while (tx_strm.avail_in != 0); 
                 } while (toklen > 0);                  } while (toklen > 0);
   #else
                   toklen++;
                   rprintf(FERROR, "Impossible error in external-zlib code (1).\n");
                   exit_cleanup(RERR_STREAMIO);
   #endif
         }          }
 }  }
   
Line 579  static int32 recv_deflated_token(int f, char **data) Line 579  static int32 recv_deflated_token(int f, char **data)
  */   */
 static void see_deflate_token(char *buf, int32 len)  static void see_deflate_token(char *buf, int32 len)
 {  {
   #ifndef EXTERNAL_ZLIB
         int r;          int r;
         int32 blklen;          int32 blklen;
         unsigned char hdr[5];          unsigned char hdr[5];
Line 616  static void see_deflate_token(char *buf, int32 len) Line 617  static void see_deflate_token(char *buf, int32 len)
                         exit_cleanup(RERR_STREAMIO);                          exit_cleanup(RERR_STREAMIO);
                 }                  }
         } while (len || rx_strm.avail_out == 0);          } while (len || rx_strm.avail_out == 0);
   #else
           buf++; len++;
           rprintf(FERROR, "Impossible error in external-zlib code (2).\n");
           exit_cleanup(RERR_STREAMIO);
   #endif
 }  }
   
 /**  /**
Line 655  int32 recv_token(int f, char **data) Line 661  int32 recv_token(int f, char **data)
  */   */
 void see_token(char *data, int32 toklen)  void see_token(char *data, int32 toklen)
 {  {
        if (do_compression)        if (do_compression == 1)
                 see_deflate_token(data, toklen);                  see_deflate_token(data, toklen);
 }  }

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>