[alt.sources] ARC 5.20 w/Squashing, 2/9

hyc@umix.cc.umich.edu (Howard Chu) (04/14/88)

XXFor example, if you just received an archive named
XX"JUNK.ARC" over a phone line, and you want to make
XXsure that you received it properly, you could type:
XX
XX    ARC t junk
XX
XXIt defeats the purpose of the T command to combine it
XXwith N or W.
XX
XX
XX
XX_____________________
XX
XXThe "C" (Convert) command is used to convert an
XXarchive entry to take advantage of newer compression
XXtechniques.  This is occasionally desirable when a new
XXversion of ARC is released.  Please refer to the
XXrevision history section for details on when new
XXcompression methods were implemented.
XX
XXFor example, if you had an archive named "JUNK.ARC",
XXand you wanted to make sure that all files with an
XXextension of ".DOC" were encoded using the very latest
XXmethods, you could type:
XX
XX    ARC c junk *.doc
XX
XXOr if you wanted to convert every file in the archive,
XXyou could type:
XX
XX    ARC c junk
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 12
XX          ARC OPTIONS
XX
XX
XX
XXThis section describes the options which are available
XXto modify how ARC works.  Any of these options can be
XXcombined with any of the commands, though the result
XXmay not always be something you'd want to do.
XX
XX
XX
XX_______________________
XX
XXThe "S" (Suppress compression) option can be combined
XXwith any command that updates archive entries.  These
XXinclude Add, Move, Update, Freshen, and Convert.  The
XXeffect of the S option is to prevent any compression
XXtechniques from being employed.  This is intended to
XXallow you to add a few files at a time to an archive
XXquickly, and then later convert the archive to
XXcompress everything at once.
XX
XXFor example, over the course of a day you might give
XXeach of the following commands:
XX
XX    ARC as junk *.txt
XX    ARC as junk *.mac
XX    ARC as junk *.doc
XX
XXAt the end of the day, when you have finished adding
XXthings to the archive, you could have all of the
XXarchive entries compressed at once by typing:
XX
XX    ARC c junk
XX
XXYou could also decompress the archive by typing:
XX
XX    ARC cs junk
XX
XXthough I can't imagine why you'd want to.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 13
XX________________
XX
XXWhen ARC changes an archive (during an Add, Move,
XXUpdate, Freshen, Delete, or Convert) it creates a new
XXarchive with the same name, but with an extension of
XX".$$$".  For example, if you add a file to an archive
XXnamed STUFF.ARC, then ARC will create a new archive
XXnamed STUFF.$$$.  ARC will read from your existing
XXarchive and write out the new archive with any changes
XXto the ".$$$" copy.
XX
XXNormally when ARC is finished it deletes the original
XXand renames the new archive to the original name (ie.
XXSTUFF.ARC goes away, and STUFF.$$$ becomes the new
XXSTUFF.ARC).  Among other things, this means that if
XXanything goes wrong and ARC is unable to finish, then
XXyour original archive will still be intact.
XX
XX
XXIn some circumstances you may wish to retain the
XXoriginal version of the archive as a backup copy.  You
XXcan do this easily by using the Backup option.  Add
XXthe letter "B" to your command, and ARC will rename
XXyour original archive to have an extension of ".BAK"
XXinstead of deleting it.
XX
XX
XXIn other words, if you wanted to add "WASTE.TXT" to an
XXarchive named "JUNK.ARC", but wanted to keep a backup
XXcopy, then you would type:
XX
XX    ARC ab junk waste.txt
XX
XXYour original archive would become "JUNK.BAK", while
XX"JUNK.ARC" would contain the new "WASTE.TXT" file.
XX
XX
XXIf you keep a backup of an archive which already has a
XXbackup, then the older backup copy is deleted.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 14
XX___________________
XX
XXARC prints three types of messages: warnings,
XXcomments, and errors.
XX
XXWarnings are messages about suspected error
XXconditions, such as when a file to be extracted
XXalready exists, or when an extracted file fails the
XXCRC error check.  Warnings may be suppressed by use of
XXthe "W" (Warn) command.  You should use this command
XXsparingly.  In fact, you should probably not use this
XXcommand at all.
XX
XXComments (or notes) are informative messages, such as
XXnaming each file as it is added to the archive.
XXComments and notes may be suppressed by use of the "N"
XX(Note) command.
XX
XXErrors are actual system problems, such as running out
XXof disk space.  You cannot suppress errors.
XX
XX
XXFor example, suppose you extracted all files with an
XXextension of ".BAS" from an archive named "JUNK.ARC"
XXThen, after making some changes which you decide not
XXto keep, you decide that you want to extract them all
XXagain, but you don't want to be asked to confirm every
XXone.  In this case, you could type:
XX
XX    ARC xw junk *.bas
XX
XXOr, if you are going to add a hundred files with an
XXextension of ".MSG" to an archive named "TRASH.ARC",
XXand you don't want ARC to list them as it adds them,
XXyou could type:
XX
XX    ARC an trash *.msg
XX
XXOr, if you want to extract the entire contents of an
XXarchive named "JUNK.ARC", and you don't want to hear
XXanything, then type:
XX
XX    ARC xnw junk
XX
XX
XXA special case is provided when extracting files from
XXan archive.  One of the various warnings that can
XXoccur is when a file being extracted already exists on
XXdisk.  Normally, ARC will stop and ask you if you want
XXto overwrite the file.  This can be suppressed with
XXthe "W" command, but that will also suppress any
XX
XX
XX
XXARC                                             Page 15
XXwarnings about other things, like failed CRC checks
XXand such.
XX
XX                                      ____
XXthat the file already exists.  For example, in our
XXearlier case of extracting all the ".BAS" files from
XX"JUNK.ARC", a much safer way to do it is to type:
XX
XX    ARC xo junk *.BAS
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 16
XX_____________________
XX
XXArchive entries may be encrypted and decrypted by
XXusing the "G" (Garble) option.  The Garble option
XXtakes the remainder of the command string as the
XX                                   ____
XX
XX
XXFor example, if you wanted to add a file named
XX"WASTE.TXT" to an archive named "JUNK.ARC", and you
XXwanted to encrypt it using the password "DEBRIS", then
XXyou would type:
XX
XX    ARC agdebris junk waste.txt
XX
XXLater on, when you want to extract it again, you would
XXtype:
XX
XX    ARC xgdebris junk waste.txt
XX
XXThe password you supply is used to encrypt (or
XXdecrypt) the archive entry by performing an exclusive
XXOR between each byte of the packed data and each byte
XXof the password.  The password can be any length, and
XXeach of its bytes is used in rotation.  The password
XXis converted to uppercase before it is used, so it is
XX___
XXon the packed data, it has no effect on stowage
XXfactors.
XX
XXThis is not a particularly sophisticated means of
XXencryption, and it is theoretically possible to crack.
XXStill, since it is performed on the packed data, the
XXresult should be quite sufficient for casual use.
XX
XX
XXYou can, if you wish, use different passwords for
XXdifferent files in an archive, but we advise against
XXit.  If you are going to encrypt an archive, we
XXsuggest you use the same password for every file, and
XXgive the password whenever you do anything at all with
XXthe archive.  It is possible to list the entries in an
XXencrypted archive using the "L" and "V" commands
XXwithout giving the password, but nothing else will
XXwork properly.
XX
XX
XXWe advise that you use this option sparingly, if at
XXall.  If you should forget or mistype your password,
XXit is highly unlikely that you will ever recover your
XXdata.
XX
XX
XX
XXARC                                             Page 17
XX        RAMDISK SUPPORT
XX
XX
XX
XXIf you have a RAMdisk, or other high-speed storage,
XXthen you can speed up ARC somewhat by telling it to
XXput its temporary files on the RAMdisk.  You do this
XXby setting the ARCTEMP environment string with the MS-
XXDOS SET command.  For example, if drive B: is your
XXRAMdisk, then you would type:
XX
XX    set ARCTEMP=B:
XX
XXRefer to the MS-DOS manual for more details about the
XXSET command.  You need only set the ARCTEMP string
XXonce, and ARC will use it from then on until you
XXchange its value or reboot your system.
XX
XX
XXIf ARC does not find an environment string named
XXARCTEMP, then it looks for one named TEMP to use
XXinstead.  Several packages already use the TEMP string
XXfor exactly this purpose.  If you have need of an
XXenvironment string named TEMP for something else, then
XXyou should be sure to define ARCTEMP.
XX
XX
XXThere are a limited number of temporary files created
XXby ARC.  The Convert command uses a file named
XX"$ARCTEMP.CVT" to hold each file as it is being
XXconverted.  The Run command also creates a temporary
XXfile, which has the name "$ARCTEMP", and whose
XXextension matches that of the file being run.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 18
XX             MARC
XX
XX
XX
XXMARC is a separate program which is used to merge
XXarchives created by ARC.  MARC moves files from one
XXarchive to another without unpacking them.
XX
XX
XXMARC is used as follows:
XX
XX    MARC <target> <source> [<template> . . .]
XX
XXWhere:
XX
XX    <target> is the name of the archive to add files
XX    to.
XX
XX    <source> is the name of the archive to read files
XX    from.
XX
XX    <template> is one or more file name templates.
XX    The wildcard characters "*" and "?" may be used.
XX    If no template is supplied, then all of the files
XX    in <source> are added to <target>.
XX
XXIt is not necessary for the target to exist.  If it
XXdoes not exist, then it is created.  Thus, MARC can be
XXused as an "extractor" as well as a "merger".
XX
XX
XXFor example, if you wanted to create an archive named
XX"JUNK.ARC", which is to contain all of the files with
XXan extension of ".TXT" which are currently contained
XXin another archive named "WASTE.ARC", then you could
XXtype:
XX
XX    MARC junk waste *.txt
XX
XXIf you wanted to create an archive named "JUNK.ARC",
XXwhich is to contain all of the files currently in the
XXarchives "WASTE.ARC" and "TRASH.ARC", you could type:
XX
XX    MARC junk waste
XX    MARC junk trash
XX
XX
XXIf MARC is invoked with no arguments, then it gives
XXbrief directions in its use.
XX
XX
XX
XX
XX
XXARC                                             Page 19
XX             ARCE
XX
XX
XX
XXARCE is a program which is used to extract files from
XX                     ____
XX___
XXthat ARC can't do, but it is highly optimized for the
XXsole purpose of archive extraction, so it is very
XXsmall and very fast.
XX
XXARCE is used in a fashion very similar to the "ARC E"
XXcommand (hence the name).  The first argument is the
XXname of the archive to extract files from, and may
XXinclude a drive and path specifier.  Up to sixteen
XXadditional arguments can be supplied, which specify
XXthe files to extract.  The wildcard characters "*" and
XX"?" are allowed, as with ARC.  If no files are named,
XXthen all files are extracted from the archive.  If the
XXfile being extracted already exists, you are asked
XXwhether or not you want to overwrite it.  You can use
XXthe "/R" option to bypass this.
XX
XXFor example, if you had an archive named "WASTE.ARC"
XXthat you wanted to extract everything from, then you
XXcould type:
XX
XX    ARCE waste
XX
XXOr if you just wanted to extract the files with a
XXfilename extension of ".ASM", you could type:
XX
XX    ARCE waste *.asm
XX
XXIf you already have a few files from the archive that
XXyou want replaced, then you could type:
XX
XX    ARCE waste *.asm /R
XX
XXIf you run ARCE with no arguments at all, then it will
XXgive you a brief reminder of how to use it.
XX
XX
XXNOTICE:NOTICE: ARCE is the copyrighted property of Vernon D.
XX        Buerg and Wayne Chin.  It is included on the
XX        ARC program disk as a service to ARC users.
XX
XX        Vernon D. Buerg
XX        456 Lakeshire Drive
XX        Daly City, CA  94015
XX        RBBS: (415) 994-2944
XX
XX
XX
XXARC                                             Page 20
XX        VERSION NUMBERS
XX
XX
XX
XXThere seems to be some confusion about our version
XXnumbering scheme.  All of our version numbers are
XXgiven as a number with two decimal places.
XX
XXThe units indicate a major revision, such as adding a
XXnew packing algorithm.
XX
XXThe first decimal place (tenths) indicates a minor
XXrevision that is not essential, but which may be
XXdesired.
XX
XXThe second decimal place (hundredths) indicates a
XXtrivial revision that will probably only be desired by
XXspecific individuals or by die-hard "latest version"
XXfanatics.
XX
XXARC also displays its date and time of last edit.  A
XXchange of the date and time without a corresponding
XXchange in version number indicates a truly trivial
XXchange, such as fixing a spelling error.
XX
XX
XXTo sum up: If the units change, then you should get
XXthe newer version as soon as you can.  If the tenths
XXchange, then you may want to get the newer version,
XXbut there's no hurry.  If anything else changes, then
XXyou probably shouldn't bother.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 21
XX COMMON QUESTIONS AND ANSWERS
XX
XX
XX
XXHere are some of the more common questions we've
XXreceived about ARC, along with their answers:
XX
XX
XXQ: Why does ARC run out of room if I make an archive
XX   bigger than about 180k?
XX
XXA: Because you are working on a floppy disk.  ARC
XX   creates a copy of your archive, incorporating any
XX   new files as it goes.  When it is done, it deletes
XX   the original and renames the new one.  There are a
XX   number of reasons for doing it this way, one being
XX   that your original archive is still intact if
XX   anything happens while ARC is running.
XX
XX   You can save some space by using drive specifiers
XX   and having the archive and the files to add on
XX   separate disks, but you still won't be able to make
XX   an archive larger than about 180k.  If you need to
XX   make a larger archive, and if you have a fixed
XX   disk, then you can create the archive on the fixed
XX   disk and then copy it to the floppy.
XX
XX
XXQ: I've seen an ARC.COM and an ARC.EXE.  Which one is
XX   the right one?
XX
XXA: ARC.EXE.  One or more people have been running ARC
XX   through a utility that converts an ".EXE" file to a
XX   ".COM" file.  But this utility is designed to save
XX   _____
XX   and makes no measurable difference in program
XX   speed.  We've decided that the savings are not
XX   worth the extra step in development in this case.
XX
XX
XXQ: How can I get the latest version of ARC?
XX
XXA: ARC updates are distributed through normal
XX   shareware channels, and by FidoNet.  We also ship a
XX   program update disk on every order of $50 or more.
XX   Also, please refer to the next section for
XX   information about our maintenance contracts.
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 22
XXQ: Can I use ARC to distribute my public domain or
XX   shareware program?
XX
XXA: Yes, of course.
XX
XX
XXQ: Can I use ARC to distribute my commercial software
XX   package?
XX
XXA: Yes, provided that you obtain a commercial
XX   distribution license from us.  Please contact us
XX   for details.
XX
XX
XXQ: I'm a commercial user.  Why should I pay for
XX   shareware that others get for free?
XX
XXA: Because you cannot credibly plead poverty.
XX              ___
XX   a new marketing channel to the benefit of everyone.
XX   You can still "test drive" shareware for a short
XX   period, but if you decide to use it in your
XX   business, then you should pay for it.
XX
XX
XXQ: Why not allow me to select which method of
XX   compression I want ARC to use?
XX
XXA: It would needlessly complicate ARC, both internally
XX   and in use.  The exact nature of the compression
XX   methods used are complex, and quite different.  The
XX   only sure way to tell which will be best in any
XX   given case is to analyze the data, as ARC does.
XX   The method chosen may not always be what you
XX   expect.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 23
XX     MAINTENANCE CONTRACTS
XX
XX
XX
XXRegistered users of ARC receive 90 days of telephone
XXsupport at no extra charge.  If you wish, you can
XXextend this by pruchasing a maintenance contract.
XX
XXA maintenance contract costs $50 per year and entitles
XXyou to unlimited telephone support, as well as free
XXupdates to ARC as they come out.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 24
XX       REVISION HISTORY
XX
XX
XX
XX____________________
XX
XXThe function used to calculate the CRC check value in
XXprevious versions has been found to be in error.  It
XXhas been replaced with the proper function.  ARC will
XXstill read archives created with earlier versions of
XXARC, but it will report a warning that the CRC value
XXis in error.  All archives created prior to version
XX3.0 should be unpacked and repacked with the latest
XXversion of ARC.
XX
XX
XXTransmitting a file with XMODEM protocol rounds the
XXsize up to the next multiple of 128 bytes, adding
XXgarbage to the end of the file.  This used to confuse
XXARC, causing it to think that the end of the archive
XXwas invalidly formatted.  This has been corrected in
XXversion 3.01.  Older archives may still be read, but
XXARC may report them to be improperly formatted.  All
XXfiles can be extracted, and no data is lost.  In
XXaddition, ARC will automatically correct the problem
XXwhen it is encountered.
XX
XX
XX
XX____________________
XX
XXARC is adding another data compression technique in
XXthis version.  We have been looking for some technique
XXthat could improve on Huffman squeezing in at least a
XXfew cases.  So far, Lempel-Zev compression seems to be
XXfulfilling our fondest hopes, often achieving
XXcompression rates as much as 20% better than
XXsqueezing, and sometimes even better.  Huffman
XXsqueezing depends on some bytes being more "popular"
XXthan others, taking the file as a whole.  Lempel-Zev
XXcompression is instead looking for strings of bytes
XXwhich are repeated at various points (such as an end
XXof line followed by spaces for indentation).  Lempel-
XXZev compression is therefore looking for repetition at
XXa more "macro" level, often achieving impressive
XXpacking rates.
XX
XXIn the typical case a file is added to an archive once
XXand then extracted many times, so the increased time
XXfor an update should more than pay for itself in
XXincreased disk space and reduced transmission time.
XX
XX
XX
XXARC                                             Page 25
XX______________________
XX
XXLempel-Zev coding has been improved somewhat by
XXperforming non-repeat compression on the data before
XXit is coded (as was already done with Huffman
XXsqueezing).  This has the two fold advantage of (a)
XXreducing to some extent the amount of data to be
XXencoded, and (b) increasing the time it takes for the
XXstring table to fill up.  Performance gains are small,
XXbut noticeable.
XX
XXThe primary changes are in internal organization.  ARC
XXis now much "cleaner" inside.  In addition to the
XXaesthetic benefits to the author, this should make
XXlife easier for the hackers out there.  There is also
XXa slight, but not noticeable, improvement in overall
XXspeed when doing an update.
XX
XX
XX
XX______________________
XX
XXVersion 4.3 adds the much-demanded feature of using
XXpathnames when adding files to an archive.
XX
XXVersion 4.3 is also using a slightly different
XXapproach when adding a file to an archive.  The end
XXresult is twofold:
XX
XX1) Slightly more disk space is required on the drive
XX   containing the archive.  This should only be
XX   noticeable to those creating very large archives on
XX   a floppy based system.
XX
XX2) A 30% reduction in packing time has been achieved
XX   in most cases.  This should be noticeable to
XX   everyone.
XX
XXAs always, version 4.3 is still fully upwards
XXcompatible, and is backwards compatible as far as
XXversion 4.1.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 26
XX______________________
XX
XXThe temporary file introduced in version 4.3
XXoccasionally caused problems for people who had not
XXadded a FILES= statement to their CONFIG.SYS file.
XXThis has now been corrected.  Also, support of the
XXARCTEMP environment string was added to allow placing
XXof the temporary file on a RAMdisk.
XX
XXA bug was reported in the Run command, which has been
XXfixed.  From the nature of the bug, and the extreme
XXtime required before the bug was reported, it is
XXdeduced that the Run command is probably the least
XXused feature of ARC.
XX
XXThe Update command was changed.  It is no longer a
XXstraight synonym for Add.  Instead, Update now only
XXadds a file if it is newer than the version already in
XXthe archive, as shown by the MS-DOS date/time stamp.
XX
XX
XX
XX______________________
XX
XXThe Convert command was not making use of RAMdisk
XXsupport.  Now it is.
XX
XXThe Freshen command was added.  Our first choice for a
XXname was Refresh, but we already had a Run command.
XXAssuming that you have an archive which already
XXcontains everything you want in it (for software
XXdistribution, perhaps), then Freshen would be used to
XXupdate the archive.  It was pointed out to us that ARC
XXalready knows what is in the archive, so it should be
XXable to look on disk for newer versions.  Now it can.
XX
XXThe Suppress compression option was added by popular
XXdemand.  It allows files to be added quickly to an
XXarchive, since the files are not analyzed or
XXcompressed, but merely stored straight.  The intent is
XXto allow users to build an archive "in pieces", and
XXthen compress all of the entries at once with the
XXConvert command.  The conversion is much faster if you
XXtake advantage of RAMdisk support.
XX
XXA minor bug was detected in our handling of date/time
XXstamps which occasionally resulted in stamping an
XXarchive with the wrong date and time.  This has been
XXcorrected.
XX
XX
XX
XX
XX
XXARC                                             Page 27
XX______________________
XX
XXThe Move command used to delete the files as it went.
XXIt now waits until it is finished updating the
XX                                             ___
XXthat Move is just an Add where the file gets deleted,
XXdidn't you?)  This, along with the changes made in
XXversion 4.5, means that it is now much safer to
XXinterrupt ARC while it is working.
XX
XXThe Print command no longer prints the name of each
XXfile.  Instead, it prints a formfeed after each file.
XX
XXThe Run command now supports BASICA programs.  Also,
XXthe filename extension is no longer required on the
XXRun command.
XX
XXThe Garble option was added.  It provides a convenient
XXmeans of low level data security for the casual user.
XXUse it sparingly, if at all.
XX
XXARC no longer tests for the presence of $ARCTEMP.CRN
XXbefore creating a new one.  If you interrupt ARC a
XXlot, you'll find this much more convenient.  If you
XXhappen to have a file named $ARCTEMP.CRN which you
XXwant to keep, too bad.
XX
XXImproved error recovery was added when reading an
XXarchive.  ARC now has a good chance of recovering the
XXdata from a corrupted archive (the corrupted entry is
XXstill lost, of course).
XX
XXPath support has been added for all commands, though
XXit doesn't do anything on most of them.  For example,
XXthere isn't much we can do with a path in the List
XXcommand.  But many users will be glad to know that a
XXpath can be used when extracting a file, and specifies
XXwhere the file is to be placed.
XX
XXSupport for the TEMP environment string was added.  If
XXARC doesn't find an environment string named ARCTEMP,
XXthen it looks for one named TEMP to use instead.
XXSeveral packages already use the TEMP string for
XXexactly this purpose.  With any luck, maybe we can get
XXa standard going.
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXARC                                             Page 28
XXARC is now using a different variation of Lempel-Zev
XXcoding, courtesy of Kent Williams, who found it on
XXUSENET and adapted it to the IBM PC.  The new method
XXdiffers from the old in several respects.  The most
XXsignificant differences are:
XX
XX1) Where our previous implementation used a fixed code
XX   size of twelve bits, the new one starts with a code
XX   size of nine bits and increases it as it needs to.
XX
XX2) The earlier method tended to "choke" on large files
XX   when its string table filled up.  The new method
XX   has a rather ingenious scheme its authors call
XX   ______________
XX   table has filled, and its compression ratio is
XX   starting to suffer, it clears the table and starts
XX   defining new strings.
XX
XXOur benchmarks show an improvement in compression on
XXthe order of 10% when crunching is used.
XXAdditionally, ARC 5.0 is on the order of 23% faster at
XXadding a file when crunching is used, or 13% faster
XXwhen squeezing is used.  Extracting a file crunched
XXwith the new method is 27% faster than it is with the
XXold method.  Extraction of any other type of file
XX(including those crunched with the older method) is no
XXfaster than before.  These figures are based on our
XXown benchmark tests; your results may vary.
XX
XXThe previous implementation of Lempel-Zev coding is no
XXlonger used to pack files.  The "V" (Verbose listing)
XXcommand distinguishes between the two by referring to
XXthe older method as "crunched" (with a lower-case
XX"c"), and the newer method as "Crunched" (with a
XXcapital "C").
XX
XXARC 5.0 can still read archives created by earlier
XXversions of ARC, but once again it creates archives
XXwhich older versions cannot read.
XX
XX
XX
XX______________________
XX
XXRick Moore discovered that ARC was occasionally adding
XXan archive to itself.  This would only happen when the
XXarchive is in the same directory as the files being
XXadded, and its name comes last.  This bug has been
XXfixed, though it is still possible to fool ARC into
XXadding an archive to itself by getting tricky with
XXpath names.
XX
XX
XX
XXARC                                             Page 29
XXDana Montgomery found the upper limit on how many
XXfiles can be added to an archive.  There's always been
XXan upper limit, but it depends on memory, and used to
XXbe larger than anyone could possibly want (knock on
XXwood).  However, the added memory requirements in
XXversion 5.0 lowered this limit into the realm of
XXpossibility, somewhere around 300 files.  We change
XXsome things around, and effectively, there is no
XXlonger a limit on how many files you can add at once.
XXARC will add the files in batches of as many as it can