RCS file: /cvsroot/librsync/librsync/mdfour.h,v
retrieving revision 1.7
retrieving revision 1.8
Index: mdfour.h
===================================================================
--- mdfour.h.orig	2004-02-08 00:17:57.000000000 +0100
+++ mdfour.h	2007-09-02 10:10:50.000000000 +0200
@@ -1,7 +1,7 @@
 /*= -*- c-basic-offset: 4; indent-tabs-mode: nil; -*-
  *
  * librsync -- the library for network deltas
- * $Id: mdfour.h,v 1.7 2003/10/17 16:15:21 abo Exp $
+ * $Id: mdfour.h,v 1.8 2006/03/10 10:44:10 abo Exp $
  * 
  * Copyright (C) 2000, 2001 by Martin Pool <mbp@samba.org>
  * Copyright (C) 2002, 2003 by Donovan Baarda <abo@minkirri.apana.org.au> 
@@ -24,7 +24,7 @@
 #include "types.h"
 
 struct rs_mdfour {
-    int                 A, B, C, D;
+    unsigned int        A, B, C, D;
 #if HAVE_UINT64
     uint64_t            totalN;
 #else
Index: patch.c
===================================================================
--- patch.c.orig	2004-09-17 23:35:50.000000000 +0200
+++ patch.c	2007-09-02 10:10:50.000000000 +0200
@@ -1,7 +1,7 @@
 /*= -*- c-basic-offset: 4; indent-tabs-mode: nil; -*-
  *
  * librsync -- the library for network deltas
- * $Id: patch.c,v 1.30 2004/09/10 02:48:58 mbp Exp $
+ * $Id: patch.c,v 1.31 2006/03/10 10:44:10 abo Exp $
  * 
  * Copyright (C) 2000, 2001 by Martin Pool <mbp@samba.org>
  * 
@@ -214,12 +214,9 @@ static rs_result rs_patch_s_copying(rs_j
     void            *buf, *ptr;
     rs_buffers_t    *buffs = job->stream;
 
-    len = job->basis_len;
-    
     /* copy only as much as will fit in the output buffer, so that we
      * don't have to block or store the input. */
-    if (len > buffs->avail_out)
-        len = buffs->avail_out;
+    len = (buffs->avail_out < job->basis_len) ? buffs->avail_out : job->basis_len;
 
     if (!len)
         return RS_BLOCKED;
Index: doc/rdiff.1
===================================================================
--- doc/rdiff.1.orig	2004-02-08 00:17:57.000000000 +0100
+++ doc/rdiff.1	2007-09-02 10:10:50.000000000 +0200
@@ -1,6 +1,6 @@
 .\"
 .\" librsync -- dynamic caching and delta update in HTTP
-.\" $Id: rdiff.1,v 1.1 2002/01/25 21:25:34 bje Exp $
+.\" $Id: rdiff.1,v 1.2 2006/02/21 12:21:52 abo Exp $
 .\" 
 .\" Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au>
 .\" 
@@ -18,7 +18,7 @@
 .\" License along with this program; if not, write to the Free Software
 .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 .\"
-.TH rdiff 1 "$Date: 2002/01/25 21:25:34 $" 
+.TH rdiff 1 "$Date: 2006/02/21 12:21:52 $" 
 .SH NAME
 rdiff \- compute and apply signature-based file differences
 .SH SYNOPSYS
@@ -29,10 +29,17 @@ rdiff \- compute and apply signature-bas
 .PP
 \fBrdiff\fP [\fIoptions\fP] \fBpatch\fP \fIbasis-file delta-file new-file\fP
 .fi
+.SH USAGE
+You can use \fBrdiff\fP to update files, much like \fBrsync\fP does.
+However, unlike \fBrsync\fP, \fBrdiff\fP puts you in control.  There
+are three steps to updating a file: \fBsignature\fP, \fBdelta\fP, and
+\fBpatch\fP.
 .SH DESCRIPTION
 In every case where a filename must be specified, \- may be used
 instead to mean either standard input or standard output as
-appropriate.
+appropriate.  Be aware that if you do this, you'll need to terminate your
+\fIoptions\fP with \-\- or \fBrdiff\fP will think you are passing it
+an empty option.
 .SH "RETURN VALUE"
 0 for successful completion, 1 for environmental problems (file not
 found, invalid options, IO error, etc), 2 for a corrupt file and 3 for
