[comp.os.vms] Tar<->vms

PENSTONE@QUCDNEE1.BITNET (Sid Penstone) (01/19/88)

        I noticed that a version of my old tar-to-vms reader was put up on
a recent Info-Vax posting ( not by me..) The particular versions posted
are slightly out of date; I try to send updates directly to those to whom I
have sent copies, but sometimes the network addresses confound even GMAIL,
and don't work a few months later.
        The TAR2VMS should be Version 2.3 ( I have appended the difference
file below), and there is a major update to VMS2TAR available (version 2.1)
that fixed some important bugs in the 1.7 Version.

        I am a little hesitant to put (another !) large file on Info_vax
with the upgrade to 2.1, but will try to make up a difference file. Anyone
who tries the posted version may have some problems, as it was really a
Beta version that I did not distribute widely.

Sid Penstone,
VLSI Group, Dept. of Electrical Engineering,
Queen's University,
Kingston, Ontario, Canada,
K7L 3N6

PENSTONE@QUCDNEE1.BITNET

/***** BUGFIX FOR VERSION 2.2 OF TAR2VMS: The fix consists of the addition
* of an additional pair of {} in make_new(), and a test for the character '@',
* which is converted to '_'
*/

***********
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V23.C;4
   10   * Version 2.3, Jan.9,1987
   11   * mods: - corrected header size (thanks to Eric Gisin, U .of Waterloo)
******
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V22.C;9
   10   * Version 2.2, Oct.21,1986
   11   * mods: - corrected header size (thanks to Eric Gisin, U .of Waterloo)
************
************
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V23.C;4
   20   * 2.3   - fixed bug in make_new on top level file (thanks to Ursula
   21   *       Natrup,         natrup@vax.hmi.dfn )
   22   *       - reject "@" in filenames
   23   */
******
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V22.C;9
   20   */
************
************
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V23.C;4
  312   * Bug fix: if the input file was at top level, we will not find a '.'
  313   *       and 'name' will be garbage.
  314   */
******
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V22.C;9
  309   */
************
************
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V23.C;4
  333
  334           if(access(name,0) <0)   /* Does the directory exist ? */
  335               {
  336                   if(strcmp(parent,top)!=0) /* No, are we at the top? */
  337                       if(make_new(parent))   /*  No, look again */
  338                           return(-1);     /* recurse */
  339                   if(mkdir(want,0755,0,0,0)) /* make it */
  340                       return(-1);         /* Leave on error */
  341                   else
  342                       if(verbose)
  343                           printf("CREATED: %s\n",want);
  344                   return(0);
  345               }
  346           }
******
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V22.C;9
  328           }
  329
  330       if(access(name,0) <0)       /* Does the directory exist ? */
  331           {
  332               if(strcmp(parent,top)!=0) /* No, are we at the top? */
  333                   if(make_new(parent))   /*  No, look again */
  334                       return(-1); /* recurse */
  335               if(mkdir(want,0755,0,0,0)) /* make it */
  336                   return(-1);             /* Leave on error */
  337               else
  338                   if(verbose)
  339                       printf("CREATED: %s\n",want);
  340               return(0);
  341           }
************
************
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V23.C;4
  434               case '@':           /* No '@' allowed in a name  */
  435                   string[i]= '_';
******
File SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V22.C;9
  429                   string[i]= '_';
************

Number of difference sections found: 5
Number of difference records found: 20

DIFFERENCES /IGNORE=()/MERGED=1
    SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V23.C;4-
    SYS$SYSDEVICE:[SRP.PENSTONE.TAR]TAR2VMS_V22.C;9