Tue Dec 29 2020 Steven Schweda * V4.3. Minor documentation fixes. (AAAREADME.TXT) * When large-file support was not enabled (typically on VAX), if an I/O error occurred while extracting an archive member, VMSTAR would skip all remaining archive members, not only the one which had the problem. The example test case involved a $CREATE failure caused by a file name which was too long for an ODS2 destination, but any I/O error could cause the misbehavior. (TAR2VMS.C) * When an I/O error occurred while extracting an archive member, VMSTAR could attempt to set date-times and protection on the file which was not successfully extracted, causing a redundant error message (such as "error setting protection (chmod)") to be emitted after the original I/O error message. (TAR2VMS.C) * When help output was redirected to a file (using a command like "pipe vmstar -h 2> help.txt"), and the help text was longer than the terminal page height, VMSTAR would hang, waiting for the user to respond to the (redirected, hence invisible) prompt, "Press return for more...". (VMSTAR_CMDLINE.C) * The use of bit fields in the code which set directory protections apparently caused a fatal run-time error on VAX (%SYSTEM-F-ACCVIO) when built using "Compaq C V6.4-005 on OpenVMS VAX V7.3" with /OPTIMIZE (the default). Equivalent (but less trendy) code seems to have no such trouble. (VMSMUNCH.C) * Added MMS macro TRC to the builders, for LINK /TRACEBACK without /DEBUG. (DESCRIP_SRC.MMS) * Permuted some data structures to naturally-aligned order. (TAR2VMS.C) Tue Jan 15 2015 Steven Schweda * V4.2. An absolute path could be archived in some cases when a relative path was specified. For example, a simple file name, without either an explict device name or directory name was archived with an absolute path. The no-dev/no-dir case and "[]" are now treated as relative paths. The documentation now explains in more detail what VMSTAR treats as an absolute path. Thanks to Corinne Robin for the bug report. (VMS2TAR.C, VMSTAR.RNH) * The change made in V3.5-pre10 to extend the /ODS2 ("o") option to archive creation worked only for the UNIX-style "o" option, not for the VMS-style /ODS2 option ("%CLI-W-CONFLICT"). Thanks (again) to Corinne Robin for the bug report. (VMSTAR_CLD.CLD) Mon Nov 24 2014 Steven Schweda * V4.1. Revised the builders to enable large-file support by default on non-VAX systems (with a run-time check on Alpha, using a new DCL script). Added build options (MMS targets), DASHV and SLASHV, to generate a "vmstar -v" or "vmstar /verbose" report, respectively, using the local executable. (BUILD_VMSTAR.COM, DESCRIP.MMS, DESCRIP_MKDEPS.MMS, DESCRIP_SRC.MMS, check_large.com) * Reduced some explicit loops to a memset() invocation. (VMS2TAR.C) * Added an option string to the version report to show whether large-file support is enabled. For example: VMSTAR V4.1 (Nov 24 2014) (+large-file) VMSTAR V4.1 (Nov 24 2014) (-large-file) (VMSTAR_CMDLINE.C) Mon Nov 17 2014 Steven Schweda * V4.0-3. Unexpected "linkflag" (POSIX: "typeflag") values caused data to be mishandled, triggering various spurious error messages and extraction/listing failures. The specific reported problem involved a POSIX "global extended header" (type: "g", title: "pax_global_header"), but others could cause the same kinds of trouble. Any archive member with an unsupported type should now be ignored. (TAR2VMS.C) * When extracting, two different problems triggered the same error message, "error setting protection on file", and in one case the UNIX-like error status was misinterpreted as a VMS-like status, causing a misleading explanatory message. These messages should now be unambiguous, and the explanatory messages correct. (TAR2VMS.C) Wed Nov 05 2014 Steven Schweda * V4.0-2. The POSIX "prefix" field was ignored during extraction, which typically caused loss of directory hierarchy in extracted files. The POSIX "typeflag" field was also ignored, and this could cause a directory to be treated as a (zero-length) regular file. Other POSIX extensions to the "tar" format may still be mishandled. (TAR2VMS.C, VMS2TAR.C, VMSTAR.H) * Typography in -h (/HELP) text. (VMSTAR_CMDLINE.C) Mon Apr 23 17:00:00 2012 Steven Schweda * V4.0-1. Corrected typography in AAAREADME.TXT. Tue Oct 18 14:00:00 2011 Steven Schweda * V4.0. No functional changes since V3.5-pre12. Fri Dec 31 16:00:00 2010 Steven Schweda * V3.5-pre12. Changed to use actual archived file permissions to determine protections of extracted files (and directories). Directory protections are set after all files have been extracted (and symlinks created). * Changed symlink creation from immediate to deferred, closing a security vulnerability where a malicious archive could be used to spew extracted files to any place in the file system. Now, symlinks are created after all files have been extracted. Sat Nov 27 16:00:00 2010 Steven Schweda * V3.5-pre11. Changed UNIX-style option processing to allow more than one "-" option block. For example, "-t -f fred.tar -v", instead of "-tfv fred.tar". This allows a user to define a DCL symbol which includes UNIX-style options. For example: vmstar == "$ dev:[dir]vmstar.exe -d" * Removed most usage() output after command-line errors. Mon Nov 23 16:00:00 2010 Steven Schweda * V3.5-pre10. Changed to use actual file protections to determine modes in an archive. Formerly, directories always got mode 755 (rwxr-xr-x), and plain files got 644 (rw-r--r--). Define the C macro CONSTANT_MODE at build time to get the old behavior. (VMS2TAR.C.) * Changed exit() status values to other than SS$_NORMAL when an error condition is detected. * Changed to send error messages to stderr instead of stdout. * Changed the return/exit status from main() to inhibit the traceback after an error. (VMSTAR.C.) * Extended /DOTS ("d") to archive extraction, to control conversion of dots to underscores in directory names. (TAR2VMS.C.) * Extended the /ODS2 ("o") option to archive creation, causing ODS5 names to be down-cased as ODS2 names would be, if desired. (VMS2TAR.C.) * Added more ODS5 long-name (NAML) code to TAR2VMS.C. * Fixed problems (missing NUL termination) with 100-character names in TAR2VMS.C and VMS2TAR.C. * Added RMS$_DIR to the list of correctable error codes when creating a directory. (TAR2VMS.C.) * Inlined one-use function opentar() in TAR2VMS.C. * Changed /CONFIRM ("w") code to use a default response when the user provides a null response. Added "All" and "Quit" options in /CREATE ("c") mode, matching the behavior for /EXTRACT ("x") and /LIST ("t"). (TAR2VMS.C, VMS2TAR.C.) * Fixed a problem with "[000000]" reduction in archive creation. (VMS2TAR.C.) * Trying to add a file with an unsupported record format to an archive was fatal to the whole job instead of only to that one file's addition. (VMS2TAR.C.) * Added UNIX-style options "D" for /DATE_POLICY, "F" for /FORCE, and "p" for /PADDING. (VMSTAR_CMDLINE.C.) * Changed to allow a lone /VERBOSE ("v") option to show the program version. (VMSTAR_CMDLINE.C.) * Restructured and simplified get_list() code in VMSTAR_CMDLINE.C, (fixing the malloc() of one byte too few). Conditionally (CASE_CNVT) disabled the down-casing code. * Removed "DUMMY" parameters from the CLI definition, so that non-comma-separated filespec parameters in a VMS-style command will trigger a complaint, instead of being silently ignored. This change has a side effect of requiring a "-" prefix on a UNIX-style options string in most cases. (VMSTAR_CLD.CLD.) * Condensed the usage() help text. (VMSTAR_CMDLINE.C.) * Miscellaneous code reform: "long" -> "int", more function prototypes, more consistent indentation, more comments, ... Tue Apr 27 17:00:00 2010 Steven Schweda * V3.5-pre9. Fixed a problem with VMS-to-UNIX directory name conversion for ODS5 directory names containing a dot. For example, "[.a^.b]" would be archived as "a/b/" instead of "a.b/". Fixed another problem with trailing-dot removal, where a file named "." would be archived with a null name. (An ACCVIO was also possible.) Names "." and ".." should probably be disallowed, or else replaced by more UNIX-friendly names, as is done in Info-ZIP Zip+UnZip. Both problems were in VMS2TAR.C: scan_name(). Wed Apr 07 23:00:00 2010 Steven Schweda * V3.5-pre8. Fixed an attribute-setting problem in VMSMUNCH.C: VMSmunch(), affecting files with ODS5 extended file names. Fri Oct 02 18:00:00 2009 Steven Schweda * V3.5-pre7. Changed to use 0x80 (not 0x00) as the first byte in a GNU-tar-like binary size. Thu Oct 01 18:00:00 2009 Steven Schweda * V3.5-pre6. Changed to use cleanup_dire() to simplify the current default directory specification (internally), to ensure proper reduction of relative directory specifications in archive path names. (For example, functionally equivalent default directory specs like "[000000.a.b]" and "[a.b]" could lead to different archive path names.) * Changed to accept either 0x00 or 0x80 as the first byte in a GNU-tar-like binary size. * Added TAR2VMS support for Sun-tar -E extensions (header linkflag = LF_VU_XHDR) for large file sizes and mtimes with fractional seconds. (Microseconds are rounded to centiseconds.) * Disambiguated some "error reading tar file" error messages, and changed the exit status from SS$_NORMAL to SS$_DATALOST for some error conditions. Wed May 06 16:00:00 2009 Steven Schweda * V3.5-pre5. Changed tar header checksum calculations to use unsigned arithmetic, to agree with the POSIX standard. When reading an archive, either checksum will be accepted. This should eliminate spurious "directory checksum error" messages for archives where a high (sign) bit was set in the header data. (Unlucky file permission codes, or file names with ASCII codes greater than 127 (or less than zero, depending on your point of view) could reveal the problem.) Tue Feb 24 17:02:32 2009 Steven Schweda * V3.5-pre4. Fixed a problem (ACCVIO) in VMS2TAR.C (V3.5-pre3) for file names on an ODS5 disk. * Added /UNDERDOT ("u") option, to change the dot replacement scheme used for multi-dot file names being restored to an ODS2 disk. That is, "a.b.c" -> "A_B.C", instead of "A.B_C". Wed Nov 05 13:31:05 2008 Steven Schweda * V3.5-pre3. Changed error handling in TAR2VMS.C to continue processing after an output error (for example, a too-long name on an ODS2 disk). Thu Jan 03 15:03:11 2008 Steven Schweda * V3.5-pre2. New MMS/MMK builders with automatic dependency generation. Minor source changes to accomodate old DEC C compilers. Large-file support must be requested explicitly when building. (See comments in DESCRIP.MMS.) Thu Jun 07 02:35:03 2007 Steven Schweda * V3.5-pre1. Changed to handle some ODS5 cases better, including symbolic links and GNU-tar-like extensions for long file names. Added /SYMLINKS ("s") to enable symlinks to be extracted as real symlinks. Added large file support, where the C RTL has it, including GNU-tar-like binary size (instead of octal) for files bigger than 8GB. Separated "b" (block_factor) and "B" (binary) options, and changed UNIX-style command-line parsing to allow "b" and "f" together (and "f" no longer needs to be last). Could have broken any number of things. Thu Nov 29 22:16:20 2001 Hunter Goatley * Packaged for release as VMSTAR V3.4-1. Separate binaries for VMS V6 and V7 are now included, as date/time support is included in VMS V7. Sat Oct 27 13:52:52 2001 Patrick Young, University of NSW * Fixed (loss of) buffering problem in tar2vms.c caused by using RMS - many thanks to Craig A. Berry for picking this up. * Made command line "files to extract list" case insensitive. Tue Oct 16 21:04:00 2001 Hunter Goatley * Added John Reagan's modifications to make /LIST ("-t") give a brief display and to make /VERBOSE ("-v") give a more robust display, better emulating UNIX tar programs. * Bumped version number to V3.4 to reflect major addition of ODS-5 support by Patrick. * Minor changes to allow compilation with VAX C. Mon Oct 15 11:45:20 2001 Patrick Young, University of NSW * Use RMS to create output files in TAR2VMS as the CRTL creat will depend on CRTL patch kits to be able to support ODS-5 file names. Tue Oct 2 11:37:30 2001 Patrick Young, University of NSW * Add /ODS2 qualifier in order to restore files on ODS-5 volumes using ODS-2 naming conventions. Reverted back to using LIB$CREATE_DIR instead of CRTL mkdir. mkdir under CRTL will uppercase all lower case directory names if DECC$EFS_CASE_PRESERVE is not defined. Updated the help file to document /ODS2. Un*x style switch for /ODS2 is -o Sat Jul 7 15:15:24 2001 Patrick Young, University of NSW * TAR2VMS.C: Bug fix (ODS5) to handle foo2.1.1 type file names. The file would end up with the name foo2.1;1 which is wrong (simply added a ; when creating). Fri Dec 8 12:18:34 2000 Patrick Young, University of NSW * Added initial ODS5/Extended File Specifications support. Fri May 8 09:49:23 1998 Richard Levitte - VMS Whacker * vmsmunch.c (VMSmunch), tar2vms.c (copyfile): added code to set exact file size. * version.opt: version number changed to "V3.3-9". * Version 3.3-8 released. Mon Sep 29 17:25:26 1997 Richard Levitte - VMS Whacker * VMS2TAR.C (get_varfilesize): added sys$close(&myfab); in two places. Wed May 28 20:49:14 1997 Richard Levitte - VMS Whacker * descrip.mms (zip.comment): changed "" to " ". Wed May 28 00:40:24 1997 Richard Levitte - VMS Whacker * vms2tar.c (cleanup_dire): made sure all '<' and '>' were converted to '[' and ']'. * version.opt: version number changed to "V3.3-7". * Version 3.3-7 released. Mon May 26 18:03:11 1997 Richard Levitte - VMS Whacker * vmstar.hlp: updated. Now contains a blurb about ANSI tape labels and Unix, and also a reference to the official WWW page. * version.opt: version number changed to "V3.3-6". * Version 3.3-6 released. Thu Mar 27 10:28:17 1997 Richard Levitte - VMS Whacker * data.c, vms2tar.c, vmstar.c, vmstar_cmdline.c, vmstarp.h, vmstar_cmdline.h: Several strings have been increased in size from NAMSIZE to 32767. * version.opt: version number changed. Sun Mar 9 06:51:12 1997 Richard Levitte - VMS Whacker * aaareadme.txt: updated. * descrip.mms: In all calls for zip, the double quote for the options has been moved one step right (so the dash comes first). * version.opt: changed to "V3.3-5" * Version 3.3-5 released. Thu Jan 23 11:19:42 1997 Richard Levitte - VMS Whacker * descrip.mms (versions): now accepts versions like "3.3-5 Beta" * tar2vms.c: made bytecount an unsigned int. * vms2tar.c: made bytecount an unsigned int. To trigger on funny files, the new flag variable funnyfile is used. Sat Jul 29 13:29:58 1995 Richard Levitte * descrip.mms: changed the action for dist_tar to make sure the current compilation of VMSTAR is used. The target `setup' was added to help. * vms2tar.c (vms2tar): since Michael Zoellner told me the same thing as Martin Stiftinger (see below), I replced the `#if 0' with a `#if 1', but then, remembering another message from Martin saying that the call to creat() to tapes really worked with VAX C, I changed the `#if 1' to `#ifdef __DECC'. * vmstar_cmdline.c (one_line): New function, to help usage() make sure the output stops temporarly when the screen has been filled. (usage): Changed to check for the size of the screen, and to use one_line(). Also, the use of variant_union was wrong. * vmstar.rnh: changed to reflect the existance of the mailing list vms-tar-testers@e.kth.se. * version.opt: version changed to 3.3-4. * Version 3.3-4 released. Tue Mar 7 09:34:12 1995 Richard Levitte (LEVITTE@eliza.e.kth.se) * vms2tar.c (vms2tar): Martin Stiftinger told me that the fix didn't work at all, so I removed it (ok, I enclosed it in #if 0...#endif). Thu Feb 16 16:42:51 1995 Richard Levitte (LEVITTE@eliza.e.kth.se) * descrip.common_mms: changed so the build of $(GOAL)VMSTAR_CMDLINE.$(EXT)OBJ would depend on VERSION.OPT. * vms2tar.c (vms2tar): bug fix by Martin Stiftinger . He clames that since VMS version 6.1, you can't use creat() to open a tape device, so we should use open() instead if the tarfile is a tape device. (get_attributes): uid and gid should be set according to the UIC of the owner of the file, not according to the UIC of the person running VMSTAR. Bug fix by Henrik Tougaard . * vmstar_cmdline.c (vmstar_cmdline): Comment was not ended correctly. Bug found by Martin Stiftinger . * version.opt: version changed to 3.3-3. Sat Dec 10 11:40:47 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * vmstar_cmdline.c (vmstar_cmdline): Changed the modification of `found_options' in two places. Wed Nov 23 15:37:21 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * link.com, build.com: made verifiable through the logical names VERIFY_BUILD and VERIFY_LINK. * build.com: now uses VERSION.OPT to get version number. * Version 3.3-2 released. Sat Nov 5 00:06:42 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * vmstar_cmdline.c (vmstar_cmdline): Made sure found_options would not be set because of default /PADDING, or that it *would* be set by /NOFORCE. * descrip.mms: Now includes version.opt to take advantage of the version number stored there. * version.opt: version changed to 3.3-2. Fri Oct 28 13:40:42 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * aaatodo.txt: short term tasks removed, since they are now implemented (they were: checking of variable length record files with no record attributes, implementation of the /BLOCK_FACTOR qualifier). Wed Oct 19 23:27:30 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * Version 3.3-1 released. Wed Oct 19 22:41:43 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * vms2tar.c (outfile_rms, get_varfilesize): Corrected a few bugs related to extracting the longest record length of a file. * vmstar.h: slight change to BLKSIZE to make block factoring work. * vmstar_cmdline.c, vmstar_cmdline.h, vmstar_cld.cld: new code and definitions to handle /BLOCK_FACTOR. * version.opt: version changed to 3.3-1. Tue Oct 18 09:41:27 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * vms2tar.c (out_file): [EXPERIMENT] copies variable length record files with no record attributes. Unless /FORCE is given, it checks if the records end with CRLF first. (get_varfilesize, outfile_rms): [EXPERIMENT] new files to help copying variable length record files with no record attributes. Thanks to Asad M. Ali for these routines. (write_trailer): only do padding if /NOPADDING wasn't given. * vmstar_cmdline.c, vmstar_cmdline.h, vmstar_cld.cld: new code and definitions to handle /FORCE and /PADDING. * version.opt: version changed to 3.3. Tue Sep 13 15:57:28 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * Version 3.2-5 released. * descrip.mms, build.com: added `*.hlp' to DISTFILES. (all): adds "/L_DOUBLE=64" to all_cflags if on AXP, to make sure it can be linked with the library for AXP DEC C version 1.3. (versions): renamed from zip.version. (dist_tar): depends on versions. * vms2tar.c (out_file): attempted to write code to recognise text files when they are variable length record files with no record attributes. So far, I failed. Added this as a short term wish in aaatodo.txt. Mon Sep 12 08:18:29 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * vmstar_cmdline.c (get_list): len will be set to 0 if *str is NULL. * descrip.mms: extension of object files will have "VAXC_" in it if compiled with VAX C. Now also distribute object files in the zip archive. * build.com, link.com: Changed accordingly. * version.opt: version changed to 3.2-5. Wed Sep 7 17:33:43 1994 Richard Levitte (LEVITTE@elton.e.kth.se) * descrip.mms (all): changed so it will recognise "/VAXC" in the macro CFLAGS, and act properly in that case. Wed Sep 7 15:00:00 1994 Richard Levitte (LEVITTE@elton.e.kth.se) * Version 3.2-4 released. Wed Sep 7 14:42:52 1994 Richard Levitte (LEVITTE@elton.e.kth.se) * vmstar_cmdline.c (vmstar_cmdline): found_options now initialised to 0. * descrip.vax_mms, descrip.alpha_mms: removed. * descrip.mms: now checks if DEC C exists, and chooses it over VAX C if it does. Now invokes descrip.common_mms directly. Two distribution clauses added. * vmstar.rnh: a few spelling errors corrected, and a Stellan Lagerström added to the "Thanks" list. * aaatodo.txt: renamed from todo.txt. * version.opt: version changed to 3.2-4. Mon Sep 5 09:20:00 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * Version 3.2-3 released. Mon Sep 5 09:19:11 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * vmstar.h: removed `/' from BADCHARS. * version.opt: version changed to 3.2-3. Fri Sep 2 12:27:05 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * Version 3.2-2 released. Fri Sep 2 11:18:44 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * vmstar.c (main): Changed so there will be an error message if no input files are specified with the /CREATE option. * version.opt: version changed to 3.2-2. Thu Sep 1 22:05:45 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * vmsmunch.c (VMSmunch): On VAX, atr$l_addr is unsigned long. On AXP, it is void *. I fixed a workaround. Also, for SET_TIMES, only change the times that are really given. * vmstar_cmdline.c (vmstar_cmdline): Added processing of /DATE_POLICY * vmstar_cld.cld: Added the /DATE_POLICY qualifier. * tar2vms.c (copyfile): Set actime and modtime depending on the date policy * version.opt: version changed to 3.2-1. Thu Sep 1 11:43:57 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * vmstar.rnh: added help about the /DATE_POLICY qualifier. * vms2tar.c, tar2vms.c: added dependency on vmstar_cmdline.h. * vmstar_cmdline.c: got the Unix option parsing code that was previously in vmstar.c. Changed the VMS option parsing code to set the option variables directly instead of converting them to Unix options. Changed so vmstar_clitables will only be globalref with VAX C. * vmstar_cmdline.h: got the option variables that were previously in vmstarP.h. * descrip.common_mms: Changed to reflect changes in dependency. * version.opt: version changed to 3.2. Wed Aug 24 12:05:18 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * data.c, tar2vms.c, vms2tar.c, vmsmunch.c, vmstar.c, vmstar_cmdline.c: changed so the module name will be set right with DEC C on VAX also. * version.opt: version changed to 3.1-3. Sat Aug 20 04:44:07 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * vmstar.h (BADCHARS, TRANSLATE): added a few more forbidden characters in BADCHARS, and made their translation an underscore. Sat Jul 23 17:02:40 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * vmstar.rnh: added /BUFFER=512 to the qualifiers that should be used when you mount a tape. * todo.txt: new file. * vmsmunch.c (VMSmunch): commented away the `revision' item from the attribute list. Otherwise, some very weird dates were placed in the file header, like the expiration date "15-MAR-14233 08:47:40.53". Wed Jul 20 09:02:11 1994 Richard Levitte (levitte@oden.stacken.kth.se) * data.c, vmstar.h, vmstarP.h: new files. * vms2tar.c, tar2vms.c: new files. Parts of vmstar.c have been moved into these files. * vms2tar.c (vms2tar), tar2vms.c (tar2vms): removed the dependency on as many global variables as possible. * tar2vms.c: added dependency on vmsmunch.h. * vmsmunch.c: added code for module identification. * vmstar.c: removed dependency on vmsmunch.h. * vmstar.c (write_trailer): made sure to put '\0' in all the header fields. * vmstar.c (main): changed so the other modules don't need the global variable `foption'. * change_log.txt: new file. All logs below have been moved from VMSTAR.C, where they were residing before. The entries by "unknown" are probably made by Alain Fauconnet, but I'm not sure yet. Mon Jul 18 ??:??:?? 1994 Hunter Goatley (goathunter@alpha.wku.edu) * Version 2.1 released. * vmsmunch.c (VMSmunch): the size field in the elements of Atr were wrongly set with sizeof(xxx). Changed these to ATR$S_xxx. Mon Jul 18 ??:??:?? 1994 Richard Levitte (levitte@oden.stacken.kth.se) * vmsmunch.c (VMSmunch): if status was other than 1, VMSmunch would just return, without deassigning DevChan. Now, deassigning is done in all the places where VMSmunch returns. Fri Jul 1 00:35:?? 1994 Richard Levitte (levitte@e.kth.se) * Version 2.0-4 released. * vmstar.c: added the /HELP qualifier (and the Un*x `h' option), and slightly cleanup the code. Thu Jun 23 ??:??:?? 1994 Richard Levitte (levitte@e.kth.se) * Version 2.0-3 released. * vmstar.c (copyfile): another small change, to preallocate the space needed to store the extracted file. This also means that when the disk is too full, we will know when we try to create the file, rather than when we are half through writing it. ??? ??? ?? ??:??:?? 1994 Richard Levitte (levitte@e.kth.se) * Version 2.0-2 released. * vmstar.c (copyfile): small change, to allow VMSTAR to write binary files with a size that is not a multiple of RECSIZE. The end of the last record is simply filled with '\0' (just in case there is trash in the tar file). Thu Apr 28 22:22:?? 1994 Richard Levitte (levitte@e.kth.se) * Version 2.0-1 released. * vmstar.c: removed the `D' option, when I saw that I could use the `d' option. Thu Apr 28 07:07:?? 1994 Hunter Goatley (goathunter@alpha.wku.edu) * vmstar_cmdline.c, vmstar_cld.cld: new file. Adds the VMS-style CLI interface, in addition to UNIX-style options. * vmstar.c (tar2vms): modified /CONFIRM loop to allow "q" and CTRL-Z for quit. ??? ??? ?? ??:??:?? 1994 Richard Levitte (levitte@e.kth.se) * Version 1.7 released. * vmstar.c: I added the switch `D', to decide how dots in directories should should be treated. * vmstar.c (usage): updated. ??? ??? ?? ??:??:?? 1994 Richard Levitte (levitte@e.kth.se) * Version 1.6-4 released. * vmstar.c (vms2tar, addfile, out_file, get_attributes): now, vmstar includes empty files in the tar file. This means that the value of bytecount had to change. It is -1 on unsupported file formats. ??? ??? ?? ??:??:?? 1994 Hunter Goatley (goathunter@wkuvx1.wku.edu) * Version 1.6-3 released. * vmsmunch.c, vmsmunch.h: new files, written by Jamie Hanrahan. This handles the setting of datetime of the extracted files. ??? ??? ?? ??:??:?? 1994 Richard Levitte (levitte@e.kth.se) * Version 1.6-2 released. * vmstar.c (scan_file): hacked to replace < and > with [ and ]. Otherwise, mkdir screws up trying to make the directory DIR:. * vmstar.c (scan_title): made it possible to disable the coercion of `.' in directories to `_'. * vmstar.c: added a few include files and some forward declarations to make DEC C shut up. ??? ??? ?? ??:??:?? 1994 Hunter Goatley (goathunter@wkuvx1.wku.edu) * Version 1.6-1 released. * vmstar.c: minor mods to work under OpenVMS AXP (Goatley) ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.6 released. * vmstar.c: added 'z' option for automatic determination of file type on extraction. * vmstar.c (copyfile): reworked to close files and exit on fatal error. Error status not returned, they weren't checked anyway. * vmstar.c: some code cleanup (much, much more to do...) ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.5-3 released. * vmstar.c: removed duplicate error message. ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.5-2 released. * vmstar.c: removed duplicate #include iodef. Added write status checking in copyfile and cleaned up error handling (avoids duplicate messages). ??? ??? ?? ??:??:?? 1994 Mark Parisi (MPARISI@RIPPLE.JPL.NASA.GOV) * Version 1.5-1 released. * vmstar.c (out_file): fixed bug in out_file: if the length of a text file was an exact multiple of RECSIZE, flushout was called an additional time. * vmstar.c: added some code for empty files handling. ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.5 released. * vmstar.c (out_file): when archiving a non-text file with rfm=stream_lf, rat=cr attributes, VMSTAR truncated the file. Modified out_file to more cleanly handle various RMS file formats: only variable and stream_cr record formats need two passes to compute the actual file size and need to be read record by record. All other formats should by read buffer by buffer and written as-is in the tar archive, thus out_file now fopens the file in binary mode and freads buffers. In the case of a stream_cr file, if a single record cannot fit in our buffers (probably because the file is non-text and has incorrect RMS attributes) out_file now error exits. ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.4 released. * vmstar.c (scan_title): fixed a bug_title that caused VMSTAR to fail on extraction of absolute tarfiles (thanks to Tom Allebrandi for this one). Also added some code to correctly handle dots in directory names found in tarfile (replaced by "_") ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.3 released. * vmstar.c (tar2vms): changed to use standard IO calls (fopen, fread) to read input tarfile in binary mode i.e. no translation of RMS record attributes done by C RTL. This fixes problem reading tarfiles created with rfm=fix, rat=cr. * vmstar.c: more room for file size in output formats. ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.2 released. * vmstar.c (out_file): fixed bug not closing input VMS file, limited maximum number of files archived to FILLM quota * vmstar.c (vms_cleanup): added mapping to underscores of some more characters found in Un*x file names illegal in VMS file names. ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.1 released. * vmstar.c: reworked handling of current VMS default. Will now create *relative* tarfiles (i.e. files known as "./..." in tar archive directory) except when device name is specified or wilcard search gives filenames located above current default (tar cvf foo.tar [-...]*.* will lead to this kind of situation) * vmstar.c (make_new): attempt to handle more than 8 levels of directories upon extract : .../d7/d8/d9 will be mapped to [...D7.D8$D9]. Also greatly simplified because mkdir() creates intermediate levels of directories if missing. ??? ??? ?? ??:??:?? 1994 unknown (unknown@unknown) * Version 1.0 released. * vmstar.c: new file. Merged VMS2TAR and TAR2VMS which were written by Sid Penstone. Code reworked, messages cleaned up. Added support for 'f tarfile' option, changed default to $TAPE. Added support for VMS style wildcard file names on extract. Added support for 'b' (binary file extract) option. Suppressed usage of intermediate scratch file for create operation. File list on create should now be space separated (removed difficult support of comma-separated list with context "a la BACKUP"). Global code simplification attempt, may have broken some odd case handling. Added some error handling in tarfile write operations. Probably millions of bugs introduced... sorry.