Subject: Bug fix for afio archiver program
From: [email-masked] (Koen Holtman)
Date: 20 Jan 1994 23:39:55 +0200
Newsgroups: comp.os.linux.announce

Afio version 2.3.6 has a bug in the code for creating multi volume
archives (-F option) that sometimes causes the contents of a file to
be lost over a disk boundary.

Some older Linux versions of afio also have this bug.

Because of this multivolume archives made with the afio -F option may
contain only partial copies of some files.  These is no easy way to
check if an an existing multivolume archive is corrupt.

Note for tbackup users:
  This bug in afio does not affect the working of tbackup, as tbackup
  does not use the afio -F option to create multivolume archives.
  Existing afio-format tbackup archives are not affected.  You only
  need to fix the bug in afio if you plan to use it as a stand-alone
  program.

Below is a patch file that fixes this bug in afio 2.3.6.  To apply it,
- cd to the afio 2.3.6 source directory
- save the text below to a file named `afiopatch'
- type `patch <afiopatch', patch now prints messages like `Hunk #1
  succeeded at 100.'
- type `make' to recompile afio
- type `make install'.

This patch is also available via ftp, at ftp.win.tue.nl
(131.155.70.100) in the directory /pub/linux/tbackup. (This isn't a
very appropriate place, but it is easy for me to put it there.)

  afio.2.3.6-dpg-1.patch  : the patch file below.
  afio.2.3.6-dpg-1.tar.gz : complete source with path applied.  

If you are using an older version of afio and are using the -F option,
I suggest you upgrade to afio.2.3.6-dpg-1.tar.gz

Thanks go to Dave Gymer ([email-masked]) for finding and fixing
this bug.

Contents of `afiopatch':
############################cut#here########################################
diff --unified=1 -r afio.2.3.6/README.linux afio.2.3.6-dpg-1/README.linux
--- afio.2.3.6/README.linux	Sun Dec 26 12:01:47 1993
+++ afio.2.3.6-dpg-1/README.linux	Sun Jan 16 10:34:41 1994
@@ -100 +100,5 @@
 ]
+
+Version 2.3.6-dpg-1 (for Linux):
+
+Bug fix in -F option by Dave Gymer ([email-masked]).
diff --unified=1 -r afio.2.3.6/afio.c afio.2.3.6-dpg-1/afio.c
--- afio.2.3.6/afio.c	Mon Dec 27 11:36:48 1993
+++ afio.2.3.6-dpg-1/afio.c	Sun Jan 16 10:26:55 1994
@@ -1473,3 +1473,6 @@
   if (arfd != STDIN && arfd != STDOUT)
-    VOID close (arfd);
+    {
+      VOID close (arfd);
+      arfd = -1;
+    }
   areof = 0;
@@ -3127,3 +3130,3 @@
          
-          close(arfd); /* added by KH to make verify work */
+          nextclos(); /* added by KH to make verify work */
 
diff --unified=1 -r afio.2.3.6/patchlevel.h afio.2.3.6-dpg-1/patchlevel.h
--- afio.2.3.6/patchlevel.h	Mon Dec 27 11:46:01 1993
+++ afio.2.3.6-dpg-1/patchlevel.h	Sat Jan 15 16:32:43 1994
@@ -1,3 +1,3 @@
-#define VERSION	"2.3.6 (for Linux)"
-#define DATE	"31 Dec 93"
+#define VERSION	"2.3.6-dpg-1 (for Linux)"
+#define DATE	"12 Jan 94"
 
@@ -10,2 +10,3 @@
  * Version 2.3.6 (for Linux)    31 Dec 93       Koen Holtman
+ * Version 2.3.6-dpg-1   "      12 Jan 94       Dave Gymer
  */
########################cut#here###########################################

Koen Holtman
[email-masked] || [email-masked]

--
Mail submissions for comp.os.linux.announce to: [email-masked]
PLEASE remember Keywords: and a short description of the software.