From: CSBVAX::MRGATE!PENSTONE%QUCDNEE1.BITNET@CUNYVM.CUNY.EDU@SMTP 18-JAN-1988 23:40 To: ARISIA::EVERHART Subj: Tar<->vms Received: from CUNYVM.CUNY.EDU by KL.SRI.COM with TCP; Mon 18 Jan 88 12:53:18-PST Received: from QUCDNEE1.BITNET by CUNYVM.CUNY.EDU ; Mon, 18 Jan 88 15:53:05 EST Date: Mon, 18 Jan 88 15:51 EDT From: (Sid Penstone) Subject: Tar<->vms To: info-vax@kl.sri.com X-Original-To: "info-vax@kl.sri.com", PENSTONE 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