home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d577 / lha.lha / LhA / LhA.man < prev    next >
Text File  |  1991-12-22  |  108KB  |  3,002 lines

  1.  
  2.  
  3.      
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                               LhA User's Guide
  15.  
  16.                         Version 1.0 - December 1991
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  30.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  31.             /~~\___________________________________________/~~\
  32.             /~~\___________________________________________/~~\
  33.             /~~\__/~~\_________/~~\___________/~~~~~~~~\___/~~\
  34.             /~~\__/~~\_________/~~\__________/~~~~~~~~~~\__/~~\
  35.             /~~\__/~~\_________/~~\__________/~~\____/~~\__/~~\
  36.             /~~\__/~~\_________/~~\__________/~~\____/~~\__/~~\
  37.             /~~\__/~~\_________/~~~~~~~~~\___/~~~~~~~~~~\__/~~\
  38.             /~~\__/~~\_________/~~~~~~~~~~\__/~~~~~~~~~~\__/~~\
  39.             /~~\__/~~\_________/~~\____/~~\__/~~\____/~~\__/~~\
  40.             /~~\__/~~\_________/~~\____/~~\__/~~\____/~~\__/~~\
  41.             /~~\__/~~~~~~~~~\__/~~\____/~~\__/~~\____/~~\__/~~\
  42.             /~~\__/~~~~~~~~~\__/~~\____/~~\__/~~\____/~~\__/~~\
  43.             /~~\___________________________________________/~~\
  44.             /~~\___________________________________________/~~\
  45.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  46.             /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.                           Written by Stefan Boberg
  57.                     Copyright (c) 1991 by Stefan Boberg
  58.  
  59.  
  60.      
  61.  
  62.  
  63.      V1.0                     LhA User's Guide                   Page 1
  64.  
  65.  
  66.      1 - Introduction      
  67.  
  68.         LhA is  a  new  and  powerful  archiver for the Commodore-Amiga
  69.      computer.  It  is  fully compatible with LHA for MSDOS systems and
  70.      LhArc  for  MSDOS,  Amiga and *NIX.  It is also compatible with LZ
  71.      and  LhArcA  for  the  Amiga.  LhA  sports  fast  compression  and
  72.      decompression  and  has  several commands and options not found in
  73.      any other archiver currently available archiver for the Amiga.  
  74.  
  75.      1.1 About the manual     
  76.  
  77.         This manual  describes  LhA,  a  file archiving program for the
  78.      Commodore-Amiga(tm)   computer  series.   LhA  creates  and  reads
  79.      archives  compatible  with the MS-DOS archiver `LHA', and `LhArc',
  80.      which is available for all major operating systems.  
  81.  
  82.         The manual  is  divided  into  four  major  sections, the first
  83.      section  (this  one)  contains  some  information  related  to the
  84.      program  and  how  it  compares  to  other  similar products.  The
  85.      second  section is a little tutorial to demonstrate how to use LhA
  86.      in  an  efficient  and  flexible  way.   The  third  section  is a
  87.      reference  section,  where  all features, commands and options are
  88.      explained  thoroughly.   The  last  section  contains  the license
  89.      agreement, registration details and disclaimers.  
  90.  
  91.         I know  that  several pieces of information can be found at two
  92.      or  maybe  even  more  places in this document, but this is mostly
  93.      because  I  feel  that the things I mention is so important that I
  94.      don't  want  anyone  to miss it, even if the person in question is
  95.      only  browsing  through the documentation.  Another reason is that
  96.      this  documentation  was written over a rather long period in time
  97.      and thus I sometimes forgot what I'd previously written...  
  98.  
  99.         You may  also  notice  that there are some section numbers that
  100.      are  jumped  over in this manual. This is because the commands and
  101.      options  described  in  those  sections  does  not  apply  to  the
  102.      evaluation  version  of  LhA.  They  are  in  the  registered-user
  103.      version  of  the  manual,  however.  There  may  be  some dangling
  104.      references  to  these  sections left in this manual, as I have not
  105.      had  the  time to check everything, my apologies for any confusion
  106.      this  may  cause,  but  it  will hopefully be fixed until the next
  107.      public release.  
  108.  
  109.      1.2 System requirements      
  110.  
  111.         LhA will  run  on  any Amiga system with at least 512KB RAM and
  112.      one  diskdrive,  though 1MB RAM and two diskdrives or harddrive is
  113.      recommended  to  get  the  most  out  of LhA.  LhA will run on any
  114.      KickStart  from  version  1.2  and up.  If LhA is used on a system
  115.      with  the  new  KickStart  2.x  it  will adapt to this and utilize
  116.      features  new to this release.  Special care has been taken in the
  117.      program  design to make the program execute as fast as possible on
  118.  
  119.  
  120.      
  121.  
  122.  
  123.      V1.0                     LhA User's Guide                   Page 2
  124.  
  125.  
  126.      68020,   030   and   040-processors   without   sacrificing  68000
  127.      compatibility. Currently, LhA requires `arp.library'.  
  128.  
  129.      1.3 Installation       
  130.  
  131.         All you  have  to do to install `LhA' is to copy the executable
  132.      file  `LhA'  and  `LhASetup' to some directory in your shell path,
  133.      and  optionally  run the `LhASetup' program to set up your default
  134.      options in the LHAOPTS environment variable.  
  135.  
  136.      1.4 Terminology       
  137.  
  138.         In this  section  I  will  try to explain some of the words and
  139.      expressions that are used throughout this manual.  
  140.  
  141.      ARCHIVE  -  An archive is a file containing one or more files in a
  142.      compressed  or  non-compressed  state and related information like
  143.      file names, last modification date/time, filenotes etc.  
  144.  
  145.      COMPRESSION  -  The process of encoding redundant information into
  146.      data  requiring less storage space.  There are a multitude of ways
  147.      you  can  do  this  in.  LhA uses a modified version of Lempel-Ziv
  148.      compression  with  block-adaptive  Huffman coding and a dictionary
  149.      size of 4096 or 8192 characters.  
  150.  
  151.      COMPRESSION  RATIO - The compression ratio figures reported by LhA
  152.      are  calculated  as  follows:   ratio  =  (1  - (CompressedSize) /
  153.      (OriginalSize))  * 100.  I.e how many percent of the file that was
  154.      GAINED.   Other  archivers may use other methods.  LHA and ARJ for
  155.      MS-DOS,   for   example,   calculates   the   ratio  as:  ratio  =
  156.      (CompressedSize)  / (OriginalSize), i.e.  how large the compressed
  157.      file   is   compared   to   the   original  file.   (MSDOSratio  =
  158.      1-(ADOSratio/100)).   The higher the LhA compression ratio is, the
  159.      better  the  compression.  Most Amiga archivers use the same ratio
  160.      calculation method as I use.  
  161.  
  162.      EXTRACTION  or DECOMPRESSION - The process of recreating the exact
  163.      information   that   was  previously  compressed  (file  contents,
  164.      modification   date,   filenotes,   protection   flags,  directory
  165.      structure etc.) 
  166.  
  167.      SELF-EXTRACTION  MODULE  (SFX-Module) - This is an archive that is
  168.      an executable file capable of extracting self-contained files.  
  169.  
  170.  
  171.      1.5 LhA - what is it?   
  172.  
  173.         LhA is  a  file  archiving  program  written especially for the
  174.      Commodore  Amiga  computer.  The  primary  goal  is to provide the
  175.      Amiga   community   with  a  fast,  efficient  and  reliable  file
  176.      archiver.  LhA creates and processes archive files with the '.LZH'
  177.      suffix,  and  is  fully compatible with both MSDOS LhArc and MSDOS
  178.  
  179.  
  180.      
  181.  
  182.  
  183.      V1.0                     LhA User's Guide                   Page 3
  184.  
  185.  
  186.      LhA,  as  well as the Amiga LhArc, LZ, and LhArcA. It handles both
  187.      the  old  LhArc-style  compression  (-lh1-,  -lh0-)  and  the  new
  188.      LHA-style (-lh5-, -lh4-).  
  189.  
  190.         LhA is  at the time of release by far the fastest LhArc archive
  191.      handler,  and  is more reliable and robust than both LZ and LhArc.
  192.      Neither  LZ  nor  LhArc  even comes close to the speed of LhA. The
  193.      compression  and  decompression  routines  are written entirely in
  194.      what   I'd  call  very  optimized  68000  assembly  language.  The
  195.      routines   were  written  directly  from  scratch  in  pure  68000
  196.      assembler,  and  did  not,  as  in  the other Amiga LZH-archivers,
  197.      start  as  a compiled C-program. Because of this, the routines are
  198.      both  smaller  and,  more importantly, faster than they would have
  199.      been  if  I'd used compiler output as source material. You can get
  200.      an  idea of how fast LhA is compared to other archivers by looking
  201.      at  the  speed  test  results  in section 1.7.1 of this manual. An
  202.      even better way to see how fast LhA is, is to try it yourself! 
  203.  
  204.         Before writing  this  program I used LhArc a lot, to archive my
  205.      source  codes  automatically  for  example.  But since LhArc often
  206.      behaved  in  a  very  weird  way when updating archives, sometimes
  207.      adding  files  twice,  and  sometimes  not  adding files at all, I
  208.      decided  to write an archiver of my own. And this is the result...
  209.      LZ  was no alternative since it did not have the commands I needed
  210.      (u,f) and was very unreliable at the time.  
  211.  
  212.      1.6 What is a file archiver anyway?  
  213.  
  214.         A file  archiver,  as  the  name  implies,  archives  files. It
  215.      collects  the  files  you  specify and stores them all in a single
  216.      archive-file.  Almost  all  file  archivers  (including  LhA) also
  217.      compress  the  files  before  putting them in the archive-file, so
  218.      that  they  occupy  less diskspace. When you wish to retrieve some
  219.      file  from  the  archive,  the  archiver decompresses the file and
  220.      restores  it's file attributes (Last modification date, time, file
  221.      comments,  protection  status  etc.).  A file archiver can usually
  222.      also  process archive files in different ways, for instance delete
  223.      files,   freshen   files,  print  files  etc.  See  the  'ARCHIVER
  224.      COMMANDS'  section  of  this  manual  for  an  explanation  of the
  225.      different actions LhA is capable of performing.  
  226.  
  227.         The most  common  use  for  a file archiver is for transferring
  228.      several  related  files  via modem. It would be a very tedious and
  229.      cumbersome  task to transfer for instance every single source file
  230.      of  a  big  project  separately,  so why not put them all into one
  231.      single  file?  This is where the file archiver comes in, we simply
  232.      feed  the  archiver  with  all  the files we wish to transmit, and
  233.      then  just  transfer  the  single  archive-file  the  achiver then
  234.      creates!  Then  the  receiver just use the archiver to extract all
  235.      files  from  the archive-file onto his harddisk (or floppy). Also,
  236.      if  the  files were compressed by the archiver, it would take less
  237.      time  to  transfer  the  files  as well, which means the phonecall
  238.  
  239.  
  240.      
  241.  
  242.  
  243.      V1.0                     LhA User's Guide                   Page 4
  244.  
  245.  
  246.      will  cost  us  less.   There  are of course other uses for a file
  247.      archiver,  you can use it as a harddisk-backup program for example
  248.      (if  you  have another harddisk to put the archive file on..), and
  249.      you  can  use it to stuff away files you don't use very often, and
  250.      then  when  you want to use them you simply extract the files from
  251.      the  archive,  and  then  delete  them when you're finished (saves
  252.      disk  space). Personally I use LhA a lot to make automatic backups
  253.      of my source codes for various projects.  
  254.  
  255.         The file  compression  methods  vary  from  very  simple,  less
  256.      effective,  and  fast (Run-Length Encoding, RLE, for instance), to
  257.      complex,   effective   and   relatively   time-consuming   methods
  258.      (Lempel-Ziv-Huffman,  LZHUF,  as  used in LhA). The method used in
  259.      LZH-Archivers  (LZHUF) is to date probably the best algorithm used
  260.      in  an  archiver.  There  are other similar methods, like ZIP, but
  261.      they  are  not  as  good. Even though the files become smaller you
  262.      don't  lose any information when compressing them, the information
  263.      is   just   stored   in  a  different  way.  Basically,  redundant
  264.      (repeated)  information  is  replaced with a pointer to some other
  265.      part  of  the file, where this information is located. For example
  266.      in  this  text  the word 'archive' appears at several places, this
  267.      is  an example of redundant data. Simply put, if a file compressor
  268.      was  to  compress  this  file  it would let the first occurence of
  269.      'archive'  remain  unchanged,  and then it would replace all other
  270.      occurences  of  'archive'  with  a  pointer to the first one. When
  271.      decompressing  the  file,  the  archiver  uses  these  pointers to
  272.      restore the file to its original state.  
  273.  
  274.         Files which  have  already  been  compressed with one technique
  275.      can  generally  not  be  compressed any further by feeding them to
  276.      the  same  file  compressing  program  again  (If  that  had  been
  277.      possible,  modem transfers would have been a lot cheaper :), since
  278.      the  redundant  information  has  already  been  eliminated. It is
  279.      possible  though  to  compress files output by certain compressors
  280.      (RunLength-Encoders  for  example)  further  by  feeding them to a
  281.      program   that  uses  another  method  (like  LZHUF),  since  they
  282.      eliminate different kinds of redundant information.  
  283.  
  284.      1.7 Why should I use LhA?   
  285.  
  286.         There are  several  reasons  why  you should use LhA instead of
  287.      other archivers for the Amiga; here are some examples: 
  288.  
  289.  
  290.      1)  It  extracts  files  faster  than  any other popular archiver,
  291.         including LZ, Zoo, LhArcA, PkAZip, Pkax, Arc, and Ape.  
  292.  
  293.  
  294.      2)  It  compresses  files faster than any other archiver, with the
  295.         exception  for  Zoo  V2.01,  which  has much looser compression
  296.         ratio and thus produces much larger archives.  
  297.  
  298.  
  299.  
  300.      
  301.  
  302.  
  303.      V1.0                     LhA User's Guide                   Page 5
  304.  
  305.  
  306.      3)  It  produces  smaller  archives  than  any other archiver.  LZ
  307.         V1.92  and  Zoo  V2.10 produces archives which are approx.  the
  308.         same  size, but are much slower than LhA on both extraction and
  309.         compression.  
  310.  
  311.  
  312.      4)  LhA  has  a  number of features that no other archiver for the
  313.         Amiga  has,  for  example  the  ability  to create and maintain
  314.         multiple-volume archives.  
  315.  
  316.  
  317.      5)  I  will  support  and  continue development on LhA and related
  318.         utilities  for  as long as the users supports me by registering
  319.         themselves  as  users  of  LhA  - without your support I cannot
  320.         keep working on this.  
  321.  
  322.  
  323.  
  324.      1.7.1 How fast is it?    
  325.  
  326.         The following    tables    compares   LhA's   compression   and
  327.      decompression  with  several  other  archivers.  The T field shows
  328.      compression or decompression time in seconds and 
  329.  
  330.        T(archiver)
  331.      Q=-----------  i.e. how much longer the archiver takes compared
  332.         T(LhA_lh5)  to LhA in -lh5- mode. For example, A Q value of 2
  333.      means  that the archiver in question takes twice as long as LhA in
  334.      -lh5-  mode  to  extract/compress  all files.  The tests were made
  335.      with  a  A3000/25Mhz/4M  SCRAM/2M CHIP and with all files in RAM:.
  336.      A  special  program  (`time')  was  used to measure execution time
  337.      with  the `timer.device'.  The times exclude loading and unloading
  338.      time  to  more  accurately  reflect  the actual program speed. All
  339.      tests  were  made  with  the  programs  in  their  default mode of
  340.      operation,  except  for  LhA  `max' where the optimal command line
  341.      parameters for the files were chosen by hand (-v0 -Qh64).  
  342.  
  343.                               Extraction speed
  344.  
  345.                         Archive: `the brown corpus'
  346.          Type: 3.2MB of text, binary and graphics data in 21 files
  347.  
  348.          +-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  349.          | LhA | LZ  | LhA | LZ  |LhArc| Zoo |Zoo  | Zoo |PkAZip| Pkax |
  350.          |     |V1.92|     |     |     |V2.01|V2.1 |V2.1 |V1.02 | V1.0 |
  351.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1-| old |old  |-lh5-| imp. |crunch|
  352.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  353.       |T |13.3 |27.0 |36.0 |51.2 |90.5 |24.2 |76.1 |57.5 | 45.0 | 51.1 |
  354.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  355.       |Q | 1.00| 2.03| 2.71| 3.85| 6.80| 1.82| 5.72| 4.32|  3.38|  3.84|
  356.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  357.  
  358.  
  359.  
  360.      
  361.  
  362.  
  363.      V1.0                     LhA User's Guide                   Page 6
  364.  
  365.  
  366.                            Archive: `dlgmsgs.lha'
  367.                            Type: 760K text file.
  368.          +-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  369.          | LhA | LZ  | LhA | LZ  |LhArc| Zoo |Zoo  | Zoo |PkAZip| Pkax |
  370.          |     |V1.92|     |     |     |V2.01|V2.1 |V2.1 |V1.02 | V1.0 |
  371.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1-| old |old  |-lh5-|impld.|crunch|
  372.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  373.       |T | 3.1 | 6.4 | 9.2 |13.1 |21.8 | 5.9 |19.3 |14.1 | 11.2 | 13.8 |
  374.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  375.       |Q | 1.00| 2.07| 2.97| 4.23| 7.03| 1.90| 6.22| 4.54|  3.61|  4.45|
  376.       +--+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
  377.  
  378.                              Compression speed
  379.  
  380.                         Archive: `the brown corpus'
  381.          Type: 3.2MB of text, binary and graphics data in 21 files
  382.  
  383.  
  384.          +-----+-----+-----+-----+-----+-----+-----+------+------+------+
  385.          | LhA | LZ  | LhA | LZ  |LhArc| Zoo | Zoo |PkAZip|LhArcA| LhA  |
  386.          |     |V1.92|     |     |     |V2.01|V2.1 |V1.02 |V1.01 | V1.0 |
  387.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1-| old |-lh5-| imp. |-lh1- | max  |
  388.       +--+-----+-----+-----+-----+-----+-----+-----+------+------+------+
  389.       |T | 208 | 396 | 205 | 285 | 571 | 76  | 512 | 394  | 386  |  206 |
  390.       +--+-----+-----+-----+-----+-----+-----+-----+------+------+------+
  391.       |Q | 1.00| 1.90| 0.99| 1.37| 2.75| 0.37| 2.46|  1.89|  1.86|  0.99|
  392.       +--+-----+-----+-----+-----+-----+-----+-----+------+------+------+
  393.  
  394.          Resulting sizes :   LhA    -lh5-   1139622  1.0000
  395.                              LZ     -lh5-   1139178  0.9996
  396.                              LhA    -lh1-   1199680  1.0527
  397.                              LZ     -lh1-   1199209  1.0523
  398.                              LhArc  -lh1-   1248729  1.0957
  399.                              LhArcA -lh1-   1248729  1.0957
  400.                              PkAZip Impl.   1196698  1.0501
  401.                              Zoo    -lh5-   1140114  1.0004
  402.                              Zoo      old   1491922  1.3091
  403.                              LhA     max    1136244  0.9970 (-Qh64)
  404.  
  405.                            Archive: `dlgmsgs.lha'
  406.                            Type: 760K text file.
  407.  
  408.  
  409.          +-----+-----+-----+-----+------+-----+------+------+------+
  410.          | LhA | LZ  | LhA | LZ  |LhArc | Zoo | Zoo  |PkAZip|LhArcA|
  411.          |     |V1.92|     |     |      |V2.01|V2.1  |V1.02 |V1.01 |
  412.          |-lh5-|-lh5-|-lh1-|-lh1-|-lh1- | old |-lh5- |impld.|-lh1- |
  413.       +--+-----+-----+-----+-----+------+-----+------+------+------+
  414.       |T |30.5 |78.0 |39.8 |63.4 |115.4 |15.8 |120.8 | 45.3 | 84.1 |
  415.       +--+-----+-----+-----+-----+------+-----+------+------+------+
  416.       |Q | 1.00| 2.56| 1.30| 2.07|  3.78| 0.52|  3.96|  1.49|  2.76|
  417.       +--+-----+-----+-----+-----+------+-----+------+-------------+
  418.  
  419.  
  420.      
  421.  
  422.  
  423.      V1.0                     LhA User's Guide                   Page 7
  424.  
  425.  
  426.  
  427.          Resulting sizes :   LhA    -lh5-   274648  1.0000
  428.                              LZ     -lh5-   274635  1.0000
  429.                              LhA    -lh1-   293076  1.0671
  430.                              LZ     -lh1-   293084  1.0671
  431.                              LhArc  -lh1-   303100  1.1036
  432.                              LhArcA -lh1-   303100  1.0957
  433.                              PkAZip Impl.   278837  1.0153
  434.                              Zoo    -lh5-   274839  1.0001
  435.                              Zoo     old    420212  1.5300
  436.                              LhA     max    273383  0.9954  (-Qh64)
  437.  
  438.  
  439.  
  440.      1.8 Compatibility and Amiga-specific features    
  441.  
  442.         LhA is  aimed  at full compatibility with LHA V2.12 for MS-DOS,
  443.      which  is  an improvement of the original LhArc V1.13. LhA is also
  444.      compatible  with  LhArc,  LhArcA  and  LZ  for the Commodore Amiga
  445.      computer.  However,  LhArc  and LhArcA cannot process any archives
  446.      with  headers  of  level  1 or 2, or files compressed with the new
  447.      LHA  compression  (-lh5-).  LZ  1.92  cannot process archives with
  448.      headers  of level 2. LHA V2.12 can process all archives created by
  449.      LhA.  
  450.  
  451.         The LhA-specific  extended  data  structures in the level 2 and
  452.      level 1 headers are laid out as follows: 
  453.  
  454.         The OS-ID  stored  in  level  1  and level 2 headers is `A' for
  455.      Amiga. The only OS-IDs I know of currently are: 
  456.  
  457.            ID Operating system 
  458.           --- ---------------- 
  459.           `A' AMIGA 
  460.           `F' OS-9 / FLEX 
  461.           `H' Human68K 
  462.           `K' OS-9 / M68K 
  463.           `M' MS-DOS 
  464.           `m' Mac OS 
  465.           `U' UNIX 
  466.           `2' OS/2 
  467.           `3' OS-386 
  468.           `9' OS-9 
  469.  
  470.  
  471.         The OS-ID  indicates  on  what operating system the archive was
  472.      created.  If  an  entry in an archive has an OS-ID other that `A',
  473.      LhA  will  ignore the file attributes and other OS-specific fields
  474.      and  use  the  default  attribute / whatever. If LhA encounters an
  475.      extended  data-field it does not recognize it issues a warning and
  476.      continues  processing.  The  warning  does not generate any return
  477.      code (if nothing goes wrong LhA returns 0 as the return code).  
  478.  
  479.  
  480.      
  481.  
  482.  
  483.      V1.0                     LhA User's Guide                   Page 8
  484.  
  485.  
  486.  
  487.                             +------------------+
  488.                             |   DISPLAY FILE   |
  489.                             |------------------|
  490.                             | 0x0003 [Length]  |
  491.                             | 0x70   [ID Byte] |
  492.                             +------------------+
  493.  
  494.      This extension is used to flag files that should be displayed upon
  495.      extraction.
  496.  
  497.                             +------------------+
  498.                             |    FILENOTE      |
  499.                             +------------------+
  500.                             | WORD   [Length]  |
  501.                             | 0x71   [ID Byte] |
  502.                             | char[] [Notestr] |
  503.                             +------------------+
  504.  
  505.      Obviously,  this  extension  is used to store filenotes in level 1
  506.      and  level  2  headers.. In level 0 headers the filenote is stored
  507.      in another way.  
  508.  
  509.                                     NOTE
  510.  
  511.           The  WORD mentioned above and the 0x0003 in DISPLAY FILE
  512.           are  of  course  like  all  other  words  in the archive
  513.           structure  stored  in  `low-endian' (Intel) format, i.e.
  514.           with the lower byte first followed by the high byte.  
  515.  
  516.  
  517.      1.9 About the author program history and future 
  518.  
  519.         I, Stefan  Boberg  -  the  author  of  the  programs in the LhA
  520.      family,  am  19  years  old  and  studying  `applied  physics  and
  521.      electrical  engineering',  first  year, at the Linköping Institute
  522.      of  Technology.  I started working on LhA mainly because I thought
  523.      there  was  no  real  good  archiver  for the Amiga, the ones that
  524.      existed  at  the  time  (June 1991) I began work on it were either
  525.      too  slow, had loose compression ratios or were bugged/crippled so
  526.      that  they  could  not  do what I needed an archiver to do.  I use
  527.      archivers  mainly  to  back  up sources for my various programming
  528.      projects   automatically,  and  I  also  use  it  a  lot  to  just
  529.      decompress  archives  from  bulletin  board  systems  and computer
  530.      networks.  Another  reason for doing it was to earn a little extra
  531.      money,  which  I  badly  need, being a poor student with a _small_
  532.      allowance..  :) 
  533.  
  534.         Anyway, I  intend  to  continue  developing LhA and the related
  535.      programs  as  long  as  I  can,  and  will release other, related,
  536.      programs  as well, like an intuition- driven archiver called `LhI'
  537.      for  instance.  A  file  system to enable you to treat archives as
  538.  
  539.  
  540.      
  541.  
  542.  
  543.      V1.0                     LhA User's Guide                   Page 9
  544.  
  545.  
  546.      directories  is also in the pipeline and will be released sometime
  547.      in  the  beginning  in  the  next year. Other archive formats than
  548.      LhA-style  archives  will  also be supported in the filesystem and
  549.      intuition  driven  archiver by means of special resident libraries
  550.      and  handlers.  When  these  will  be finished depends on how much
  551.      time  I  can  devote to developing the programs (have to take care
  552.      of my studies you know).  
  553.  
  554.         But this  all  depends  on  YOU,  if  I get a good response and
  555.      people  register  I  will  continue  work on the program.  If not,
  556.      well,  then  I  might as well drop it for other projects, and just
  557.      make  minor  bugfixes  to  it instead of continuing development...
  558.      It's  your  choice!   If  you  would like to express your opinions
  559.      about  the  program,  or  have an idea for a feature you'd like to
  560.      see  in  the  next  version,  please drop me a line via EMail (see
  561.      section  4  for  addresses)  or  write  a  letter.  I would really
  562.      appreciate  it!   You MUST report any bugs you find (though I hope
  563.      you won't find any), so I can fix it right away! 
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.      
  601.  
  602.  
  603.      V1.0                     LhA User's Guide                  Page 10
  604.  
  605.  
  606.      2 Tutorial       
  607.  
  608.         This section  of  the  manual  contains a number of examples on
  609.      how  to  accomplish  various  tasks using the LhA archiver.  There
  610.      are  examples  for the novice user as well as more advanced users.
  611.      Even  if you have used archivers a lot before you may want to take
  612.      a  look  at  the examples to see what the commands and options new
  613.      to LhA can do.  
  614.  
  615.      <this section is yet to be written> 
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.      
  661.  
  662.  
  663.      V1.0                     LhA User's Guide                  Page 11
  664.  
  665.  
  666.      3 Reference guide      
  667.  
  668.         This section  of  the manual is intended to be used mostly as a
  669.      reference  guide  when  you  want  to  know  exactly how a certain
  670.      option  or  command  works.   If  you haven't used LhA before (but
  671.      used  other  archivers),  you  should  at least glance through the
  672.      descriptions  of  all  the  commands and options to get an idea of
  673.      what LhA can do.  
  674.  
  675.      3.1 Command line syntax     
  676.  
  677.         The command line syntax is as follows: 
  678.  
  679.      LhA  [-options]  <Command>  <Archive> [[HomeDir] FileSpec] [@file]
  680.      [destdir] 
  681.  
  682.         The items  in  square  brackets  are optional, and the items in
  683.      angle  brackets  are  mandatory.   Read the following sections for
  684.      exact information on the various items.  
  685.  
  686.  
  687.      3.1.1 Specifying options      
  688.  
  689.         Unlike other  archivers,  LhA lets you specify options anywhere
  690.      on  the  command  line.   The  option specifier is `-' (dash), any
  691.      items  on  the  command  line  that begins with this character are
  692.      considered  to  be  option  switches.   If  you  want to specify a
  693.      filename  or  something  else  that  begins  with a `-' character,
  694.      enclose  the  name  in  double  quotes  or use double dashes.  For
  695.      example,  to  specify  a  filename  of  `-minus',  you could write
  696.      either `"-minus"' or `--minus'.  
  697.  
  698.         If you  write  `-o' the option `o' is enabled regardless of its
  699.      initial  state.   If  you  want to disable an option, append a `0'
  700.      (zero)  after the option, like in `-o0'.  If an option is followed
  701.      by any other numeric character than `0', the option is enabled.  
  702.  
  703.         You can  specify  multiple  options  without  having  a dash in
  704.      front  of  every  option  character.  An example would be `-ox0m',
  705.      which  would  enable  option  `o',  disable  option `x' and enable
  706.      option  `m'.   The  only  exception  is options taking multi-digit
  707.      numeric  arguments,  which  must  be  followed  by  whitespace and
  708.      another  dash  if  you want to specify more options (like in `-b32
  709.      -ox0m').  
  710.  
  711.      3.1.2 Specifying commands      
  712.  
  713.         The first  non-option  argument on the command line MUST be the
  714.      command  specifier.   The commands are case-insensitive (`l' means
  715.      the  same  thing  as  `L'),  and  only  the first character of the
  716.      argument  is  considered  (except  for  the  `vv',  `mb'  and `mf'
  717.      commands),  so  you  may  use  verbose  commands such as `list' or
  718.  
  719.  
  720.      
  721.  
  722.  
  723.      V1.0                     LhA User's Guide                  Page 12
  724.  
  725.  
  726.      `add' instead of `l' and `a', respectively.  
  727.  
  728.      3.1.3 Specifying archives      
  729.  
  730.         The archive   specification   must  be  the  second  non-option
  731.      argument  (the  first  being  the command specification).  In most
  732.      cases  you can specify a pattern here.  The exceptions are the `m'
  733.      (move  files  to  archive),  `r'  (repair  archive)  ,  `s' (split
  734.      archive) commands.  
  735.  
  736.      3.1.4 Specifying action files     
  737.  
  738.         The action    files    are    specified   after   the   archive
  739.      specification.  The action file specifications may include pattern
  740.      matching  tokens.  Note  that, as all other file specifications in
  741.      LhA,   action   file  specifications  may  contain  wildcards  for
  742.      directory   names   as  well  -  `hd:*/*/dir/*.h'  is  valid,  for
  743.      example.  
  744.  
  745.      3.1.5 Home directories      
  746.  
  747.         Home directories  is  a  new  concept  introduced  with LhA, it
  748.      provides  an  easy  way of specifying what parts of pathnames that
  749.      should  be  preserved  in  the  archive.  It  can  also be used to
  750.      simplify  specifications  of  mutiple files in the same directory.
  751.      It is perhaps best explained with a couple of examples: 
  752.  
  753.       EXAMPLE 
  754.  
  755.        Example 1: 
  756.  
  757.        lha   -x   a  newarc  dh0:files/  file1  dir1/file2  dir2/file3
  758.        dh0:files2/ *.c 
  759.  
  760.        This would add the following files to `newarc.lha': 
  761.  
  762.         Added file(s)         Stored as 
  763.         -----------------     -------------- 
  764.         dh0:files/file1       file1 
  765.         dh0:files/dir1/file2  dir1/file2 
  766.         dh0:files/dir2/file3  dir2/file3 
  767.         dh0:files2/*.c        *.c 
  768.  
  769.        Example 2: 
  770.  
  771.        lha -r a newarc hd:tmp/ *.c *.h hd:px/ *.s *.snd *.iff 
  772.  
  773.         This would  add  all  `.c' and `.h' files in `hd:tmp' and it's
  774.        subdirectories,  storing  pathnames, but excluding the `hd:tmp'
  775.        part.   For  instance, the file `hd:tmp/src/foo/arargh.c' would
  776.        be  stored  in  the  archive  with the name `src/foo/arargh.c'.
  777.        Additionally,  all `.s', `.snd' and `.iff' files in `hd:px' and
  778.  
  779.  
  780.      
  781.  
  782.  
  783.      V1.0                     LhA User's Guide                  Page 13
  784.  
  785.  
  786.        its  subdirectories  will be added, excluding the `hd:px/' part
  787.        of the name.  
  788.  
  789.         Homedir specifications  must  end in `/' or `:', otherwise they
  790.      won't be recognized as such.  
  791.  
  792.         Homedir specifications  may contain wildcards and other pattern
  793.      matching tokens.  
  794.  
  795.      3.1.6 Recursive file collection     
  796.  
  797.         When collecting  files recursively (by using the -r option with
  798.      a   or  u  commands),  action  file  specs  are  treated  somewhat
  799.      differently.  Home  directories  work  the  same  way as usual. In
  800.      recursive  file  collection mode, the last node of the action file
  801.      specification  (i.e. the file name part) is used as a pattern that
  802.      is  compared  to  all  files  in  the  specified directory and its
  803.      subdirectories.   Some  examples to hopefully clarify the somewhat
  804.      fuzzy description: 
  805.  
  806.       EXAMPLE 
  807.  
  808.        Example 1: 
  809.  
  810.        lha -r a myarc * 
  811.  
  812.        This  will  add  all  files  in  the  current directory and its
  813.        subdirectories to `myarc.lha'.  
  814.  
  815.        Example 2: 
  816.  
  817.        lha -r a myarc *.c *.cpp 
  818.  
  819.        Will  add  all  `.c'  and `.cpp' files in the current directory
  820.        and its subdirectories to `myarc.lha'.  
  821.  
  822.        Example 3: 
  823.  
  824.        lha -r a myarc ram:work/* hd:tmp/*.c 
  825.  
  826.        Will  add  all  files in `ram:work' and its subdirectories - as
  827.        well  as all `.c' files in `hd:tmp' and its subdirectories - to
  828.        `myarc.lha'.  The  full pathnames will be stored (excluding the
  829.        device specification of course).  
  830.  
  831.        Example 4: 
  832.  
  833.        lha -r a myarc ram:work/ * hd:tmp/ *.c 
  834.  
  835.        Will  do  exactly the same as example 3, but LhA will not store
  836.        the  `ram:work/'  and  `hd:tmp/'  parts of the filenames in the
  837.        archive. (Because of the home directory specifications).  
  838.  
  839.  
  840.      
  841.  
  842.  
  843.      V1.0                     LhA User's Guide                  Page 14
  844.  
  845.  
  846.  
  847.  
  848.  
  849.      3.1.7 Specifying destination directory     
  850.  
  851.         You can  optionally  specify  a  destination  directory for the
  852.      files  written  by  the  extract  commands  by writing the desired
  853.      directory  name  as  the LAST argument on the command line.  If no
  854.      destination  directory  is  specified,  LhA  will  use the current
  855.      directory   as   the   destination.    The  destination  directory
  856.      specification  must  end  in  `:' or `/', just like home directory
  857.      specifications,  or LhA would not be able to distinguish directory
  858.      names from action file specs.  
  859.  
  860.       EXAMPLE 
  861.  
  862.        `lha  x corpus ram:' would extract the contents of `corpus.lzh'
  863.        to ram:.  
  864.  
  865.        `lha  x  project  *.c  dl:tmp/'  would  extract the contents of
  866.        `project.lzh' to the `dl:tmp' directory.  
  867.  
  868.      3.1.8 `@'-files       
  869.  
  870.         `@'-files are  files that are treated as if their contents were
  871.      written  on  the command line.  They can be used to specify files,
  872.      options  commands  and  anything  else  can  be  specified  on the
  873.      command  line.   An example would be the command `lha -r e arc.lzh
  874.      *.[chas]  @filelist  ram:', which would extract all files matching
  875.      `*.[chas]'  or  the  files  listed in `filelist' to ram:. Carriage
  876.      returns and linefeeds in `@'-files are treated as whitespace.  
  877.  
  878.      3.1.9 LhA limitations      
  879.  
  880.         LhA has  been  written to be as flexible as possible, but there
  881.      are some limitations that you should be aware of as a user: 
  882.  
  883.      o  LhA pathnames are currently limited to 255 characters.  
  884.  
  885.      o  When  headers  of level 0 are used, filenotes may not be longer
  886.        than  254-{filename length (including path)} chars.  With header
  887.        level  1  or  2  filenotes may be up to 255 characters (AmigaDOS
  888.        currently  only  supports filenotes of max 80 characters so this
  889.        should not be any problem).  
  890.  
  891.      o  The  number  of  files  in an archive files are only limited by
  892.        available disk space.  
  893.  
  894.      o  The  number of arguments on the command line is only limited by
  895.        available RAM memory and the used shell.  
  896.  
  897.      o  The  allowed  number  of wildcard-matched files is only limited
  898.  
  899.  
  900.      
  901.  
  902.  
  903.      V1.0                     LhA User's Guide                  Page 15
  904.  
  905.  
  906.        by  available  RAM memory.  Any number of files may be extracted
  907.        or added to an archive in one go.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.      
  961.  
  962.  
  963.      V1.0                     LhA User's Guide                  Page 16
  964.  
  965.  
  966.      3.3 Pattern matching      
  967.  
  968.         This section  describes  how  LhA  handles pattern matching and
  969.      file  collection.   For  a discussion on what commands will accept
  970.      file   patterns,   please  refer  to  section  3.1  (Command  line
  971.      syntax).  
  972.  
  973.         Pattern matching  in LhA is always case-insensitive.  (i.e.  it
  974.      doesn't  matter  if  you  write  names in upper- or lowercase, `a'
  975.      will match both `a' and `A'.  
  976.  
  977.      3.3.0 Exactly what is pattern matching anyway?  
  978.  
  979.         Pattern matching  is  a means of specifying several files in an
  980.      elegant  and  relatively  straightforward manner.  Instead of just
  981.      lining  up  all  the  file  names you would like to work on on the
  982.      command  line  (which  can be very tedious when a lot of files are
  983.      involved)  you  can  use  a  technique  called `pattern matching'.
  984.      With  this technique you - as the name implies - use the fact that
  985.      the  names  of  the  files you wish to work on often share certain
  986.      characteristics.   For  example,  the  names  of  files containing
  987.      C-source  almost  always  end in `.c', so if you would like to add
  988.      all  C-source  files  in  the  current  directory  you  could take
  989.      advantage  of  this  fact  by specifying a pattern to that matches
  990.      these  files  (in  this  case  such  a  pattern  would  be `*.c').
  991.      Exactly  how  these patterns are built up are explained in section
  992.      3.3.1  forward.  Also read the sections explaining `how to specify
  993.      action files' and `how to specify archive files'.  
  994.  
  995.      3.3.1 Accepted pattern tokens     
  996.  
  997.         LhA accepts  all valid KickStart 2.x and 1.x pattern tokens, it
  998.      also  accepts  all  ARP tokens (works more or less the same way as
  999.      KS2.x).  
  1000.  
  1001.         In the  explanations  that  follow, the term `expression' means
  1002.      either  a  single  token  or character (such as `x' or `?'), or an
  1003.      alternation  (such as `(ab|cd|ef)'), or a character class (such as
  1004.      `[a-z,A-Z]').  
  1005.  
  1006.      3.3.1.1 Question mark (?)     
  1007.  
  1008.         The question  mark  matches  any  one  _single_  character. The
  1009.      question mark is sometimes also referred to as the `wildchar'.  
  1010.  
  1011.       EXAMPLE 
  1012.  
  1013.        `d?' :  matches  all  two-letter  names  beginning  with  a `d'
  1014.               character.  For example `dm' or 'd8'.  
  1015.  
  1016.  
  1017.        `ab?d' :  matches all four-letter names beginning with `ab' and
  1018.  
  1019.  
  1020.      
  1021.  
  1022.  
  1023.      V1.0                     LhA User's Guide                  Page 17
  1024.  
  1025.  
  1026.               ending  in  `d'.   For example `abcd', `abad' and `ab_d'
  1027.               but not `abd' or `acid'.  
  1028.  
  1029.  
  1030.        `f??' :  matches  all three-letter names beginning in `f'.  For
  1031.               example  `foo',  `fel',  `fan'  but  not  `ab', `f18' or
  1032.               `fini' 
  1033.  
  1034.  
  1035.  
  1036.      3.3.1.2 Star/Asterisk (*)      
  1037.  
  1038.  
  1039.         The star   matches   any  sequence  of  any  length,  including
  1040.      sequences  with  length  zero  (i.e.   the  null string).  The `*'
  1041.      character is often called the `wildcard' character.  
  1042.  
  1043.       EXAMPLE 
  1044.  
  1045.        `a*' :  matches  all  names  starting  with an `a', for example
  1046.               `abba', `anette'.  
  1047.  
  1048.  
  1049.        `a*z' :  matches `auugaz', `awacz' and `az' and any other names
  1050.               starting with an `a' and ending in `z'.  
  1051.  
  1052.  
  1053.        `s*f*n' :  matches `stefan', `staffan', `steffen', `sfn' or any
  1054.               other  name starting with an `s', followed by any number
  1055.               of  arbitrary characters, followed by an `f', and ending
  1056.               in `n'.  
  1057.  
  1058.  
  1059.        `*.lzh' : matches all names ending in `.lzh' 
  1060.  
  1061.  
  1062.  
  1063.      3.3.1.3 Hash mark (#)     
  1064.  
  1065.         The hash  mark  matches  a subsequent expression (pattern) 0 or
  1066.      more  times.   The  simplest  example  of  this is `#?' which will
  1067.      match any filename.  
  1068.  
  1069.       EXAMPLE 
  1070.  
  1071.        `#a' :  matches  any name consisting of the `a' character only.
  1072.               For example `aaaa' and `a'.  
  1073.  
  1074.  
  1075.        `b#ad' :  matches  any  name  beginning in `b', followed by any
  1076.               number  (including  0)  of `a' characters, and ending in
  1077.               `d'.  For example `bad', `bd' and `baaaad'.  
  1078.  
  1079.  
  1080.      
  1081.  
  1082.  
  1083.      V1.0                     LhA User's Guide                  Page 18
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.      3.3.1.4 Square brackets ([])     
  1090.  
  1091.         The square  brackets  enclose  a  set  of  characters to match.
  1092.      They  are  a  bit like the parentheses but match single-characters
  1093.      only.   You can either specify just the letters you would like the
  1094.      expression  to  match,  as in `[abcx]' (this would match `a', `b',
  1095.      `c'  and  `x'), or you can specify ranges, like `[a-c,x-z]' (which
  1096.      would match `a', `b', `c' and `x', `y', `z').  
  1097.  
  1098.       EXAMPLE 
  1099.  
  1100.        `prg.[1-9]' :  matches  any  five-letter  name  beginning  with
  1101.               `prg.',  followed  by  a  non-zero  digit.   For example
  1102.               `prg.1', 'Prg.8'.  
  1103.  
  1104.  
  1105.        `Ver_[1-2].[0-9].[a-z]' :    matches   any   nine-letter   name
  1106.               beginning  with `ver_' followed by either a `1' or a `2'
  1107.               character,  followed by a dot (`.'), a digit and finally
  1108.               a  character  between  `a' and `z' (i.e.  all letters in
  1109.               the   english   alphabet).    For  example  `Ver_1.2.a',
  1110.               `Ver_2.9.d'.  
  1111.  
  1112.  
  1113.        `#[a-z 0-9]'   matches   any  name  containing  any  number  of
  1114.               alphanumeric  characters  (i.e.   either in the alphabet
  1115.               or  numeric).   For  example `ados' or `PDP11'.  It does
  1116.               not  match  `AXE.dat'  however,  since it contains a `.'
  1117.               which is not in the specified character range.  
  1118.  
  1119.  
  1120.        `*.[chas]' :  matches  any  name  ending in `.c', `.h', `.a' or
  1121.               `.s'.  
  1122.  
  1123.  
  1124.  
  1125.      3.3.1.5 Parentheses and the vertical bar   
  1126.  
  1127.         Parentheses can  be  used to achieve several things.  The first
  1128.      way  of  using them is just like in mathematics - to group several
  1129.      individual  expressions into one single expression.  The other way
  1130.      is  to provide a list of acceptable expressions separated with `|'
  1131.      chars.   The  entire  parenthesized  expression  is treated as one
  1132.      token  by other tokens (like `#' and `~').  These two are actually
  1133.      the  same,  since  the  first is just a special case of the second
  1134.      use.  This is easier to explain with a couple of examples: 
  1135.  
  1136.       EXAMPLE 
  1137.  
  1138.  
  1139.  
  1140.      
  1141.  
  1142.  
  1143.      V1.0                     LhA User's Guide                  Page 19
  1144.  
  1145.  
  1146.        `(abc|def|xyz)' :  will  match names `abc', `def' and `xyz' and
  1147.               no other.  
  1148.  
  1149.  
  1150.        `*.(doc|prf|man)' :  will  match  all  names  ending in `.doc',
  1151.               `.prf' or `.man'.  
  1152.  
  1153.  
  1154.        `~(pfile)' :  will  match  all  names except `pfile'. (NB: this
  1155.               expression  is  NOT  the  same  thing  as  `~pfile', see
  1156.               section 3.3.1.6 for details) 
  1157.  
  1158.  
  1159.        `(*.c|*.h|*.doc|ab*)' :  will  match  all files ending in `.c',
  1160.               `.h' or `.doc' and all files beginning with `ab'.  
  1161.  
  1162.  
  1163.         Typing an  action-file  spec of `(xxx|yyy|zzz)' is functionally
  1164.      equivalent  to  writing  `xxx  yyy  zzz' (xxx, yyy, zzz can be any
  1165.      valid patterns, including patterns with parentheses).  
  1166.  
  1167.         Parentheses can be nested.  
  1168.  
  1169.  
  1170.      3.3.1.6 Tilde (~)      
  1171.  
  1172.         The tilde  negates  the  immediately  following expression.  It
  1173.      negates  ONLY  the  immediately  following  token or paranthesized
  1174.      expressiom,  not  the  entire  following expression as some people
  1175.      think.  
  1176.  
  1177.       EXAMPLE 
  1178.  
  1179.        `~x?' :  matches any two-letter name except those starting with
  1180.               `x'.   For  example  `ah',  `ko' or 'ba' but not 'x0' or
  1181.               'xi'.  
  1182.  
  1183.  
  1184.        `~(x?)' :  matches  anything  except  two-letter names starting
  1185.               with  `x'.   For  example  `xaa' or `ab' but not `xa' or
  1186.               'x9'.  
  1187.  
  1188.  
  1189.        `~(#?)' :  matches  nothing  at  all.   (The  tilde negates the
  1190.               `#?', which matches all names).  
  1191.  
  1192.  
  1193.        `~lha' :  matches  all strings that doesn't begin with `l', and
  1194.               ends  in  'ha'.   For  example  `uha', `why_lha' but not
  1195.               'lumbha' or 'lha'.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.      
  1201.  
  1202.  
  1203.      V1.0                     LhA User's Guide                  Page 20
  1204.  
  1205.  
  1206.      3.3.1.7 Percent sign (%)     
  1207.  
  1208.         The percent   sign  represents  the  empty  string.   i.e.   it
  1209.      matches  0  characters always.  It is only useful in parenthesized
  1210.      expressions  and  must not follow a the `#' token (`#%' would be a
  1211.      rather  pointless  pattern,  since  the % always matches exactly 0
  1212.      characters).  
  1213.  
  1214.       EXAMPLE 
  1215.  
  1216.        `lha(.doc|.man|%)' : matches `lha.doc', `lha.man' and `lha'.  
  1217.  
  1218.  
  1219.        `l%u%a' :  matches  `lua'  only;  the percent signs are totally
  1220.               irrelevant here and can just as well be removed.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.      
  1261.  
  1262.  
  1263.      V1.0                     LhA User's Guide                  Page 21
  1264.  
  1265.  
  1266.      3.4 Commands       
  1267.  
  1268.         This section  describes  the  commands for archive manipulation
  1269.      and  maintenance LhA offers to you.  See section 3.1.2 (Specifying
  1270.      commands)  for  details  on how to specify commands on the command
  1271.      line.  
  1272.  
  1273.      3.4.1 `a' Add files to archive   
  1274.  
  1275.         Obviously, this  command  adds a number of files to one or more
  1276.      archives.   If  the specified archive does not already exist, then
  1277.      it  will  be created.  You cannot add files to an archive if these
  1278.      already  exist in the archive.  If you attempt to do so, a warning
  1279.      will  be  issued, but LhA will continue adding the other files you
  1280.      have specified.  
  1281.  
  1282.         Only the  filenames  are  stored  by  default,  if  you want to
  1283.      preserve  some  disk  structure and directory names, you will have
  1284.      to  use the -x option to turn path preservation on. If you want to
  1285.      archive  entire  subdirectories  recursively  you  can  use the -r
  1286.      option,  which  will  turn  on  the -x option automatically. These
  1287.      options are explained in section 3.5.  
  1288.  
  1289.       EXAMPLE 
  1290.  
  1291.        `LhA  a  myarchive  dict.txt'  would add the file `dict.txt' to
  1292.        the archive `myarchive.lha'.  
  1293.  
  1294.        `LhA  a  arc.lzh  *.c *.h' would cause all files in the current
  1295.        directory  ending  in  `.c'  or `.h' to be added to the archive
  1296.        `arc.lzh' 
  1297.  
  1298.        `LhA  -r -0 arch *.c' would cause all `.c' files in the current
  1299.        directory  and  all  it's  subdirectories  to  be  added to the
  1300.        archive  `arch.lzh'  using  the  -lh1-  (LhArc 1.x) compression
  1301.        method.  
  1302.  
  1303.        `LhA  -r  archive  src:(lharca|lha)/*.[cha]  asrc:*.asm'  would
  1304.        cause  all  `.c',  `.h'  and `.a' files in the `src:lharca' and
  1305.        `src:lha'  directories  and  subdirectories,  as  well  as  all
  1306.        `.asm'  files  in  the  `asrc:'  directory,  to be added to the
  1307.        archive `archive.lha'.  
  1308.  
  1309.  
  1310.  
  1311.      3.4.3 `d' Delete files from archive   
  1312.  
  1313.         This command removes one or more files from an archive.  
  1314.  
  1315.  
  1316.                                     NOTE
  1317.  
  1318.  
  1319.  
  1320.      
  1321.  
  1322.  
  1323.      V1.0                     LhA User's Guide                  Page 22
  1324.  
  1325.  
  1326.           Files  deleted  with the `d' command cannot be recovered
  1327.           from  the  archive  file  in  any  way.   Once a file is
  1328.           deleted from an archive it is gone forever.  
  1329.  
  1330.  
  1331.      3.4.4 `e' Extract files from archive   
  1332.  
  1333.         This command  is  used  to  extract  files from an archive.  It
  1334.      works  just  like  the  `x' command, except this command takes the
  1335.      `-x'  option  into  consideration  (the  `x' command assumes it is
  1336.      set).   If  the  `-x'  option  is  disabled,  files  are extracted
  1337.      without  their pathnames, and if it's enabled LhA will extract all
  1338.      files  with  the  pathnames  and  create the needed directories if
  1339.      they do not already exist.  
  1340.  
  1341.       EXAMPLE 
  1342.  
  1343.        `lha  -x0  e  foo.lzh  ram:'  will  extract  all files from the
  1344.        archive  `foo.lzh'  to  ram:,  without paths (all files will be
  1345.        put in the ram:  root directory).  
  1346.  
  1347.        `lha  x foo.lzh *.c ram:' will extract all files ending in `.c'
  1348.        to  ram:,  with  paths  -  i.e.  it  will recreate the original
  1349.        directory structure.  
  1350.  
  1351.        See the tutorial section for more examples 
  1352.  
  1353.  
  1354.      3.4.5 `f' Freshen files in archive   
  1355.  
  1356.         This command  is  used  to  freshen  files in an archive.  I.e.
  1357.      replace  older  files  in  the  archive  with  new  files from the
  1358.      current  directory.   Pathnames  are considered if the `-x' option
  1359.      is  enabled.   This command never adds any files to an archive, it
  1360.      just  replaces those files that have older modification dates than
  1361.      the corresponding files in the current directory.  
  1362.  
  1363.       EXAMPLE 
  1364.  
  1365.        `lha  f  /aab/lha'  will  freshen  all  files  in  the  archive
  1366.        '/aab/lha.lha'.  
  1367.  
  1368.        `lha  f  /aab/fsys *.[ch]' will freshen all `.c' and `.h' files
  1369.        in the archive '/aab/fsys.lha'.  
  1370.  
  1371.  
  1372.  
  1373.      3.4.8 `l' List archive contents (terse)   
  1374.  
  1375.         This command  gives  a terse list of the contents of an archive
  1376.      file,   including   file   names  (without  paths),  original  and
  1377.      compressed length, last modification date and compression ratio.  
  1378.  
  1379.  
  1380.      
  1381.  
  1382.  
  1383.      V1.0                     LhA User's Guide                  Page 23
  1384.  
  1385.  
  1386.  
  1387.         Files with  pathnames  are  indicated by having a `+' character
  1388.      in front of the name. See example below.  
  1389.  
  1390.         Filenotes are  NOT  displayed  when using this command, use the
  1391.      `v' or `vv' command to display those.  
  1392.  
  1393.         The action  file  specification is used to determine what files
  1394.      to list. If no filespecs are given, all files will be listed.  
  1395.  
  1396.       EXAMPLE 
  1397.  
  1398.         1> lha -N l dl:c64new 
  1399.  
  1400.         Listing of archive 'dl:c64new.lzh': 
  1401.         Original  Packed Ratio    Date     Time    Name 
  1402.         -------- ------- ----- --------- --------  ------------- 
  1403.            36098   26979 25.2% 20-Oct-91 22:40:16 +Stormlord 
  1404.              482     293 39.2% 20-Oct-91 22:41:36 +Stormlord.info 
  1405.            23016   12100 47.4% 21-Oct-91 08:28:18  PlaySID 
  1406.         -------- ------- ----- --------- -------- 
  1407.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1408.  
  1409.         The `+'  (plus) signs in front of the first two names indicate
  1410.        that  the  file  has a path which is not displayed with the `l'
  1411.        command  (use  the  `v' or `vv' command to display pathnames as
  1412.        well).  The `-N' suppresses the copyright notice.  
  1413.  
  1414.  
  1415.      3.4.9 `m' Move files to archive   
  1416.  
  1417.         This command  works  just  like the `a' command, but the source
  1418.      files are deleted after successfully adding them to the archive.  
  1419.  
  1420.       EXAMPLE 
  1421.  
  1422.        `lha   m  includes.lzh  src:*.[hi]'  will  move  all  files  in
  1423.        directory  `src:'  having  filenames  ending in `.h' or `.i' to
  1424.        the archive `includes.lzh'.  
  1425.  
  1426.        `lha  m  myarc.lzh lhb_log.911012 lhb_idx.911012' will move the
  1427.        two  specified files (`lhb_log.911012' and `lhb_idx.911012') to
  1428.        the archive `myarc.lzh'.  
  1429.  
  1430.  
  1431.      3.4.14 `p' Print files to stdout   
  1432.  
  1433.         This command  works  just like the extract (`e', `x') commands,
  1434.      but  sends the extracted output to stdout (normally the console or
  1435.      output redirection file).  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.      
  1441.  
  1442.  
  1443.      V1.0                     LhA User's Guide                  Page 24
  1444.  
  1445.  
  1446.      3.4.17 `t' Test archive integrity    
  1447.  
  1448.         This command   tests   the   specified  archives  integrity  by
  1449.      extracting  the  files they contain to nowhereland, i.e.  the data
  1450.      is  decompressed only, not written to any file.  This command only
  1451.      works  on  entire archives, i.e.  you cannot just test one file in
  1452.      an  archive.  If this command fails, the archive is corrupted, and
  1453.      a warning return code is returned.  
  1454.  
  1455.       EXAMPLE 
  1456.  
  1457.        `lha  t  work:arcs/*'  will check the integrity of all archives
  1458.        in directory `work:arcs'.  
  1459.  
  1460.        `lha    t   s:envarc.lzh'   will   check   the   integrity   of
  1461.        `s:envarc.lzh' 
  1462.  
  1463.        `lha  -R  t  dh0:*' will check the integrity of all archives on
  1464.        the `dh0' volume (`-R' = Collect archives recursively).  
  1465.  
  1466.  
  1467.      3.4.18 `u' Update archive     
  1468.  
  1469.         As the  command name implies, this command updates archives. It
  1470.      adds  files  that are not yet in the archive and replaces existing
  1471.      but  older files. The last modification date for files are used to
  1472.      determine which file is the newest one.  
  1473.  
  1474.       EXAMPLE 
  1475.  
  1476.        `lha  u  /aab/lha.lzh  *.c'  will update archive `/aab/lha.lzh'
  1477.        with all `.c' files in the current directory.  
  1478.  
  1479.  
  1480.      3.4.19 `v' List archive (verbose)    
  1481.  
  1482.         This command  works just like the `l' command, but displays the
  1483.      full  pathname  of the file, while `l' only displays the name node
  1484.      without  path.   Another  difference  between `l' and the `v'/`vv'
  1485.      commands  is  that  the  `l'  command  does  not  show  filenotes.
  1486.      Filenotes  are  displayed on a separate line with a colon (`:') in
  1487.      front of it, just like the AmigaDOS `list' command.  
  1488.  
  1489.         The action  file  specification is used to determine what files
  1490.      to list. If no filespecs are given, all files will be listed.  
  1491.  
  1492.       EXAMPLE 
  1493.  
  1494.         1> lha -N v dl:c64new 
  1495.  
  1496.         Listing of archive 'dl:c64new.lzh': 
  1497.         Original  Packed Ratio    Date     Time    Name 
  1498.  
  1499.  
  1500.      
  1501.  
  1502.  
  1503.      V1.0                     LhA User's Guide                  Page 25
  1504.  
  1505.  
  1506.         -------- ------- ----- --------- --------  ------------- 
  1507.            36098   26979 25.2% 20-Oct-91 22:40:16  S/Stormlord 
  1508.              482     293 39.2% 20-Oct-91 22:41:36  S/Stormlord.info 
  1509.            23016   12100 47.4% 21-Oct-91 08:28:18  PlaySID 
  1510.         : New version with `equalizers' 
  1511.         -------- ------- ----- --------- -------- 
  1512.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1513.  
  1514.         The `-N' suppresses the copyright notice.  
  1515.  
  1516.  
  1517.      3.4.20 `vv' List archive (full)    
  1518.  
  1519.         This command  is  just  like  the `v' command, but displays all
  1520.      available   information  in  a  slightly  different  format.   The
  1521.      original  and  packed size, last modification date and compression
  1522.      ratio   is  listed  just  as  with  the  `v'  command,  plus  file
  1523.      attributes  (`Atts'),  compression method, file CRC and DOS ID for
  1524.      the  OS  the  files  were compressed on.  If no DOS ID is given in
  1525.      the  archive  (header  level  <  1), a question mark is displayed.
  1526.      The  currently  known  DOS  IDs  are `A' and `M', where `A' is for
  1527.      AmigaDOS  and  `M'  is for MS-DOS.  The filename including path is
  1528.      displayed  on  a  separate  line.  File notes are displayed in the
  1529.      same  way as the `v' command does it, on a separate line after the
  1530.      filename.  
  1531.  
  1532.         The action  file  specification is used to determine what files
  1533.      to list. If no filespecs are given, all files will be listed.  
  1534.  
  1535.       EXAMPLE 
  1536.  
  1537.         1> lha -N vv dl:c64new 
  1538.  
  1539.         Listing of archive 'dl:c64new.lzh': 
  1540.         Original  Packed Ratio    Date     Time     Atts   Method CRC  DOS 
  1541.         -------- ------- ----- --------- -------- -------- ------ ---- --- 
  1542.         S/Stormlord 
  1543.            36098   26979 25.2% 20-Oct-91 22:40:16 ----rwed  -lh1- 2093  ? 
  1544.         S/Stormlord.info 
  1545.              482     293 39.2% 20-Oct-91 22:41:36 ----rwed  -lh1- 710E  ? 
  1546.         PlaySID 
  1547.            23016   12100 47.4% 21-Oct-91 08:28:18 ----rwed  -lh5- 89FF  ? 
  1548.         : New version with `equalizers' 
  1549.         -------- ------- ----- --------- -------- 
  1550.            59596   39372 33.9% 25-Oct-91 21:22:48   3 files 
  1551.  
  1552.         The `-N' option suppresses the copyright notice.  
  1553.  
  1554.  
  1555.  
  1556.        3.4.21 `x' Extract files with path   
  1557.  
  1558.  
  1559.  
  1560.      
  1561.  
  1562.  
  1563.      V1.0                     LhA User's Guide                  Page 26
  1564.  
  1565.  
  1566.           This command  is  exactly the same as the `e' command, but it
  1567.        always  extracts  files  with paths (i.e.  same as using the `e'
  1568.        command  with  `-x'  option  on), regardless of the state of the
  1569.        `-x' option.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.      
  1621.  
  1622.  
  1623.      V1.0                     LhA User's Guide                  Page 27
  1624.  
  1625.  
  1626.        3.5 Options       
  1627.  
  1628.           This section   describes   the   various   options  that  are
  1629.        available  to  you when using LhA. For a detailed explanation on
  1630.        how  to  enable/disable  specific  options  and  where  you  can
  1631.        specify  options, see section 3.1.1.  The letters in parantheses
  1632.        indicate what commands the options affect.  
  1633.  
  1634.            Code  Commands 
  1635.            ----- ------------ 
  1636.            (add) a,u,f 
  1637.            (all) all commands 
  1638.            (ext) e,x 
  1639.            (upx) a,u,f,e,x 
  1640.            (upd) a,u,f,d 
  1641.  
  1642.  
  1643.        3.5.1 `-a' (upx) Preserve file attributes   
  1644.          This option,  when  enabled,  will  make LhA store and restore
  1645.        file protection flags. The eight attributes are listed below: 
  1646.  
  1647.            r:  Read  - This flag is set for files which are readable (a
  1648.               file is read-protected if the flag is unset).  
  1649.  
  1650.            w:  Write  -  This flag is set for files which are writeable
  1651.               (a file is write-protected if the flag is unset).  
  1652.  
  1653.            e:  Execute   -  This  flag  is  set  for  files  which  are
  1654.               executable  (binary load files or shell scripts must have
  1655.               this bit set).  
  1656.  
  1657.            d:  Delete   -   This  flag  is  set  for  files  which  are
  1658.               deleteable  (a  file  is  protected from deletion if this
  1659.               flag is unset).  
  1660.  
  1661.            a:  Archived   -   This  flag  is  used  by  harddisk-backup
  1662.               programs  (and  optionally  LhA)  to  indicate what files
  1663.               have  been changed since the last backup. If this flag is
  1664.               set  it  indicates  that the file is unchanged, and if it
  1665.               is  unset  the  file  has  changed since the last backup.
  1666.               The  bit  is  cleared  whenever  a  write  is made to the
  1667.               file.  
  1668.  
  1669.            p:  Pure  - This flag is set for binary load files which are
  1670.               pure  (i.e.   multitasking  reentrant),  and  can be made
  1671.               resident  with  the  AmigaDOS  'resident'  or  equivalent
  1672.               command.  
  1673.  
  1674.            s:  Script - This flag is set for shell script files.  
  1675.  
  1676.            h:  Hidden  -  This  flag  is  set for files that should not
  1677.               show  up  on  directory  listings. It is not supported by
  1678.  
  1679.  
  1680.      
  1681.  
  1682.  
  1683.      V1.0                     LhA User's Guide                  Page 28
  1684.  
  1685.  
  1686.               AmigaDOS  shell/CLI  commands,  and  should  thus  not be
  1687.               used.  
  1688.  
  1689.         Please refer   to   an   AmigaDOS   manual  for  more  detailed
  1690.        explanation of the various file protection flags.  
  1691.         If the  option  is  disabled  (by  issuing `-a0' on the command
  1692.        line  or  in  the  LHAOPTS environment variable), the protection
  1693.        flags  are  set  to  '----RWED'  for  all extracted and archived
  1694.        files.   Important:  You MUST have this option enabled both when
  1695.        archiving   and   extracting   to   preserve   file   attributes
  1696.        correctly.  
  1697.  
  1698.                                      NOTE
  1699.  
  1700.             Use  this option only if you know that the archive has
  1701.             been  compressed or will be decompressed with an Amiga
  1702.             archiver,   since   the   attribute  field  format  is
  1703.             different  on different operating systems.  If you use
  1704.             archive  headers  of  level  1  or higher you need not
  1705.             care  about  this since the archiver then detects what
  1706.             OS  the  archive  was  created  on  and  only uses the
  1707.             protection  flags  if  it  is  the  native OS.  Always
  1708.             leave  this  option enabled when using archive headers
  1709.             of level 1 and higher! 
  1710.  
  1711.         This option is enabled by default.  
  1712.  
  1713.        3.5.2 `-A' (upd) Set archive attributes   
  1714.         When this  option  is  active, LhA will set the file protection
  1715.        flags of all archives it updates to `----RW-D'.  
  1716.         This option is ON by default.  
  1717.  
  1718.        3.5.3 `-b' (all) Set I/O buffer size  
  1719.         This option  will set the size of the I/O buffers LhA uses when
  1720.        reading  and  writing  to archive files.  You can set the buffer
  1721.        size  to  anything  from  8KB to 64 KB.  Larger buffers normally
  1722.        makes  LhA operate slightly faster (depends on the nature of the
  1723.        archive and what files are selected).  
  1724.  
  1725.         EXAMPLE 
  1726.          'lha  -b64  a  archive.lzh hubba' :  Will add file `hubba' to
  1727.          `archive.lzh' using an I/O buffer of 64K.  
  1728.  
  1729.                                      NOTE
  1730.  
  1731.             Running  LhA with a small I/O buffer on an accelerated
  1732.             (68020  and  up)  Amiga  will  degrade  compression  /
  1733.             decompression  performance significantly!  The default
  1734.             buffer  size  of  32KB  is  enough  in most cases, and
  1735.             works  well  on  an unaccelerated Amiga as well.  Also
  1736.             note  that when running LhA and doing all work on some
  1737.             ram  disk,  the I/O buffer size is less important, and
  1738.  
  1739.  
  1740.      
  1741.  
  1742.  
  1743.      V1.0                     LhA User's Guide                  Page 29
  1744.  
  1745.  
  1746.             it  is  unnecessary  to  run  with a large buffer. The
  1747.             default buffer size of 32K is OK for most purposes.  
  1748.  
  1749.  
  1750.           The default buffer size is 32K (32768 bytes) 
  1751.  
  1752.        3.5.5 `-c' (all) Confirm files    
  1753.  
  1754.           When this  option is active LhA will ask you for confirmation
  1755.        on all files and archives that are acted upon.  
  1756.  
  1757.           This option is OFF by default.  
  1758.  
  1759.        3.5.6 `-C' (ext) Clear arc-bit on extract  
  1760.  
  1761.           When this  option  is  active  LhA will mask the A-protection
  1762.        bit  for  all  files it extracts. This is useful when extracting
  1763.        files  from  archives  to  a harddisk, since the extracted files
  1764.        would  not  be  recognized as new or changed files by the backup
  1765.        program if the A-bit was set.  
  1766.  
  1767.           This option is ON by default.  
  1768.  
  1769.        3.5.8 `-D' (all) Alternate progress display   
  1770.  
  1771.           This switch  is  used to change the look of the byte progress
  1772.        indicator   that   LhA   displays  when  it  is  compressing  or
  1773.        decompressing  files.  There  are  several  different  types  of
  1774.        progress  indicators,  you can specify which one you want with a
  1775.        digit after the '-D' string.  
  1776.  
  1777.  
  1778.        0:  This  is  the  default  progress  indicator, it displays how
  1779.           many  bytes of the file LhA has processed, and how many bytes
  1780.           there is in the file like this: 
  1781.  
  1782.           (xxxxxxx/yyyyyyy)  where  x  = bytes processed, and y = total
  1783.           bytes in the file.  
  1784.  
  1785.  
  1786.        1:  This  progress indicator simply shows a `rotating line' that
  1787.           is  rotated  45  degrees  every  time  the progress indicator
  1788.           display is updated).  
  1789.  
  1790.  
  1791.        2:  This  progress  indicator shows how many percent of the file
  1792.           LhA has processed.  
  1793.  
  1794.  
  1795.        3:  This   progress   indicator  displays  a  growing  bar  that
  1796.           indicates how much of the file that has been processed.  
  1797.  
  1798.  
  1799.  
  1800.      
  1801.  
  1802.  
  1803.      V1.0                     LhA User's Guide                  Page 30
  1804.  
  1805.  
  1806.  
  1807.         EXAMPLE 
  1808.  
  1809.          `lha  -D2  a  src  *.asm'  will  add  files  to  the  archive
  1810.          `src.lha' with a percentage indicator (type 2).  
  1811.  
  1812.  
  1813.           The default progress indication type is 0.  
  1814.  
  1815.        3.5.11 `-f' (all) Ignore filenotes    
  1816.  
  1817.           When this  option  is  enabled, LhA will not store or restore
  1818.        any  filenotes.  There is no real need to do this, since it does
  1819.        not  cause any compatibility problems with other systems because
  1820.        of  the  way the filenotes are stored.  If problems should arise
  1821.        anyway,  try  enabling  this option or use headers of level 1 or
  1822.        higher if the target system supports it.  
  1823.  
  1824.           See the  section  about  compatibility (1.7) for a discussion
  1825.        about this and other compatibility issues.  
  1826.  
  1827.           This option  is  OFF  by  default  (filenotes  are stored and
  1828.        restored) 
  1829.  
  1830.        3.5.12 `-F' (all) Use fast progress display  
  1831.  
  1832.           In this  mode LhA uses a different method of display progress
  1833.        for  the  extract  and  test  commands.  Normally,  LhA  emits a
  1834.        linefeed   (LF)   after  each  file  has  been  processed,  thus
  1835.        advancing/scrolling  the display one line. In this mode LhA only
  1836.        emits  a  LF  when  an  error  occurs. This is useful if you are
  1837.        testing  or  extracting files with a lot of small files, and the
  1838.        scrolling takes more time than the actual decompression! 
  1839.  
  1840.                                      NOTE
  1841.  
  1842.             If  you  use  the  default style progress display on a
  1843.             very  fast  Amiga  system  (68020+),  beware  that the
  1844.             scrolling  of  the  screen may actually take more time
  1845.             than  the  actual  decompression!   This is especially
  1846.             true  for  archives  with  many small files.  So don't
  1847.             use  it  unless  you  really  _have_ to see what files
  1848.             have   been   processed.    LhA  scrolls  the  display
  1849.             whenever  an  error occurs on a file, so you still can
  1850.             see  when  an  error  occurs  (better, even, since the
  1851.             only  filenames that remain on screen after the action
  1852.             is complete are those that failed!).  
  1853.  
  1854.  
  1855.           This option  is  OFF  by  default  (use  old  style  progress
  1856.        indication).  
  1857.  
  1858.  
  1859.  
  1860.      
  1861.  
  1862.  
  1863.      V1.0                     LhA User's Guide                  Page 31
  1864.  
  1865.  
  1866.        3.5.16 `-i' (all) Read filelist from file  
  1867.  
  1868.           With this  option  you can include an action file list from a
  1869.        file instead of specifying all action files on a command line.  
  1870.  
  1871.         EXAMPLE 
  1872.  
  1873.          If the file `ArcFList' contains the following lines: 
  1874.  
  1875.          ---> Start of ArcFList data   (this line is NOT in the file) 
  1876.  
  1877.          LhA.c ArcList.c FSys/*.(c|h|i|asm|prf|man|doc|txt) 
  1878.  
  1879.          ---> End of ArcFList data     (this line is NOT in the file) 
  1880.  
  1881.          The following command line: 
  1882.  
  1883.          `lha -iArcFList u /aab/lha.lzh' 
  1884.  
  1885.          Will do the same thing as this command: 
  1886.  
  1887.          `lha        u        /aab/lha.lzh       LhA.c       ArcList.c
  1888.          FSys/*.(c|h|i|asm|prf|man|doc|txt)' 
  1889.  
  1890.  
  1891.                                      NOTE
  1892.  
  1893.               This  command  works  almost  exactly like entering
  1894.               the following command line: 
  1895.  
  1896.               LhA ? ???? @file 
  1897.  
  1898.               Thus  you  can include options in your -i file. The
  1899.               only  difference is that the -i file cannot contain
  1900.               a  destination  directory  specification  while you
  1901.               can  do this with the @file method. The destination
  1902.               directory  will  always  be  taken from the command
  1903.               line when using the -i option.  
  1904.  
  1905.  
  1906.  
  1907.           See the  section  about  `@'(include)-files  for an alternate
  1908.        way of doing this.  
  1909.  
  1910.        3.5.17 `-k' (all) Keep partial files   
  1911.  
  1912.           This option  will, if it's enabled, prevent LhA from deleting
  1913.        temporary  files when an error occurs.  Normally temporary files
  1914.        that  fail  the  CRC  check, cause I/O errors or are interrupted
  1915.        with  CTRL-C  are  deleted  before  exiting  LhA  with  an error
  1916.        message,  with  this  option  you  can  force  LhA to keep those
  1917.        (often)  partial  files.   This  can  be  useful  when trying to
  1918.  
  1919.  
  1920.      
  1921.  
  1922.  
  1923.      V1.0                     LhA User's Guide                  Page 32
  1924.  
  1925.  
  1926.        recover  data  from  corrupted  archives  -  LhA will attempt to
  1927.        extract  the  data  from  the  erraneous  archive file and put a
  1928.        special  filenote on the file to indicate that it failed the CRC
  1929.        check and probably is corrupted.  
  1930.  
  1931.           This option is OFF by default (partial files are deleted).  
  1932.  
  1933.        3.5.18 `-l' (ALL) Make filenames lowercase   
  1934.  
  1935.           This option,  when  active,  will  cause  LhA  to convert all
  1936.        filenames  to  lowercase.   This is useful when extracting files
  1937.        from  archives created on MSDOS systems, whose filenames are all
  1938.        uppercase,  which  look  completely  braindead (IMHO).  Use this
  1939.        option to make them look nicer! 
  1940.  
  1941.         EXAMPLE 
  1942.          `LhA    -l   x   myarc'   will   extract   all   files   from
  1943.          `myarc.(lzh|lha)', making all filenames lowercase.  
  1944.  
  1945.           This option if OFF by default 
  1946.  
  1947.        3.5.19 `-L' (ALL) Create filelist    
  1948.  
  1949.           When this  option  is  enabled, it will cause LhA to create a
  1950.        list  of  the  files  it  has acted upon (i.e. what files in the
  1951.        last  operation  that  matched the action file specification you
  1952.        gave  on  the  command  line).  The  name  of the list file must
  1953.        follow  immediately after the `-L' string. If you need spaces in
  1954.        the filename, enclose the name in double quotes.  
  1955.  
  1956.         EXAMPLE 
  1957.  
  1958.          `lha  -Lram:ListFile  d  src.lzh *.asm' will delete all files
  1959.          in  `src.lzh'  with  names ending in `.asm' and create a list
  1960.          of the deleted files in the file `ram:ListFile'.  
  1961.  
  1962.          `lha   -L"ram:List   File"   u  src.lzh  *.asm'  will  update
  1963.          `src.lzh',   and  create  a  list  of  the  files  that  were
  1964.          added/replaced in the file `ram:List File'.  
  1965.  
  1966.                                      NOTE
  1967.  
  1968.             The  file  that  this  option creates is a plain ASCII
  1969.             file  with  every  name  on a separate line. The files
  1970.             created  by this option are suitable for use as action
  1971.             or  exclude  lists  for  LhA  using  the  `@'  or `-i'
  1972.             options.  
  1973.  
  1974.  
  1975.           This option is OFF by default (no filelist created).  
  1976.  
  1977.        3.5.20 `-m' (ALL) No messages for query  
  1978.  
  1979.  
  1980.      
  1981.  
  1982.  
  1983.      V1.0                     LhA User's Guide                  Page 33
  1984.  
  1985.  
  1986.  
  1987.           When this  option  is  active  LhA  will suppress all queries
  1988.        that  normally  are issued before overwriting existing files for
  1989.        example.   Enabling  this  option  will also cause LhA to ignore
  1990.        TelOps  (autoshow  files).   When this option is on you LhA will
  1991.        behave  like  you  choose  the default action in response to all
  1992.        the queries.  
  1993.  
  1994.           This option if OFF by default.  
  1995.  
  1996.        3.5.21 `-n' (upx) No byte progress indicator  
  1997.  
  1998.           When this  option  is enabled, the byte progress indicator is
  1999.        disabled!  This  may  be  desirable  when running the program on
  2000.        extremely  fast  processors  (read:   the  MC68040),  if  you're
  2001.        running  a  console on a 24bit graphics board, or simply because
  2002.        you  think  it  looks  awful  :)...   I  usually  leave it on to
  2003.        display  the  speed  at  which  LhA  operates!  It may slow down
  2004.        operations  a  bit,  but  the  difference between on and off are
  2005.        very  slight.   Turn  it  off  if  you  need  those milliseconds
  2006.        badly...  
  2007.  
  2008.           This option is OFF by default.  
  2009.  
  2010.        3.5.22 `-N' (all) No progress indicator   
  2011.  
  2012.           This option  is  similar  to  the  `-n' option, but supresses
  2013.        higher-level  progress  indication  (i.e.   the  display of what
  2014.        file  LhA  is  bashing).  It  also  disables the short copyright
  2015.        banner that is printed at each invokation otherwise.  
  2016.  
  2017.                                      NOTE
  2018.  
  2019.             This   option's   behaviour  is  different  (and  more
  2020.             useful,  IMO).   from  that of LZ's `-N' switch, which
  2021.             simply  turns  off  ALL  LZs console output, including
  2022.             error   messages   and   queries  (like  using  output
  2023.             redirection to NIL:).  
  2024.  
  2025.  
  2026.           This option  is  off  by  default  (file  progress indication
  2027.        ON).  
  2028.  
  2029.        3.5.23 `-o' (upx) On or after date  
  2030.  
  2031.           This option  is  used  to specify a date to force LhA to only
  2032.        add/extract  files  that  have  a last modification-date that is
  2033.        the same or newer than the specified date.  
  2034.  
  2035.         EXAMPLE 
  2036.          `lha  -o13-dec-90  e  xyzzy ram:' will extract all files last
  2037.          modified  on December 13th 1990 or later from 'xyzzy.lzh/lha'
  2038.  
  2039.  
  2040.      
  2041.  
  2042.  
  2043.      V1.0                     LhA User's Guide                  Page 34
  2044.  
  2045.  
  2046.          to ram: 
  2047.  
  2048.          `lha  -ojan-91  a  bogus.lzh  *.c'  will add all files in the
  2049.          current  directory  ending  in  `.c'  that have been modified
  2050.          since January 1st 1991 to the archive file `bogus.lzh'.  
  2051.  
  2052.        3.5.25 `-p' (ALL) Pause after loading   
  2053.  
  2054.           When selected,  this  option will cause LhA to pause and wait
  2055.        for  the  user to press any key before executing a command. This
  2056.        is  useful  for  users  with  floppies,  who can then swap disks
  2057.        after LhA has been loaded and is waiting for a keypress.  
  2058.  
  2059.           This option is OFF by default.  
  2060.  
  2061.        3.5.26 `-P' (ALL) Set task priority   
  2062.  
  2063.           This option  is  used  to  set  the LhA process priority. The
  2064.        priority  may  be  set  to  any  value  in  the  range -5 to +5,
  2065.        including  0.  The  higher  priority  you give LhA, the more CPU
  2066.        time  it  will  grab  (processes with lower priority will almost
  2067.        never    get   the   chance   to   run   since   LhA   is   very
  2068.        processor-intensive).   Setting it to a low value (like -5) will
  2069.        make  LhA  only  use  the  processor time that nobody else wants
  2070.        (nice  when  running  LhA  as  a background task while running a
  2071.        comm program).  
  2072.  
  2073.           The priority  must  be  specified  with  a single (optionally
  2074.        prefixed   with  a  minus  sign  for  negative  priority)  digit
  2075.        immediately after the P as in: 
  2076.  
  2077.         EXAMPLE 
  2078.          `lha  -P-1  a  nonsense.lzh  bogus.txt' will make LhA add the
  2079.          file  `bogus.txt'  to  the archive `nonsense.lzh', running at
  2080.          priority -1.  
  2081.  
  2082.           The default  priority  is  inherited from the calling process
  2083.        (i.e.   the CLI or program that called Execute()/RunCommand() ).
  2084.        This is usually zero (0).  
  2085.  
  2086.        3.5.27 `-q' (ALL) Be quiet    
  2087.  
  2088.           This option will supress ALL messages from LhA.  
  2089.  
  2090.           This option is OFF by default 
  2091.  
  2092.        3.5.28 `-Q' (ALL) Alternate option set   
  2093.  
  2094.           This option  character  (`Q') will cause all following option
  2095.        characters  until  next  space  character  to  be interpreted as
  2096.        extended  options.   These  are  documented  at  the end of this
  2097.        section.  
  2098.  
  2099.  
  2100.      
  2101.  
  2102.  
  2103.      V1.0                     LhA User's Guide                  Page 35
  2104.  
  2105.  
  2106.        3.5.29 `-r' (add) Collect action files recursively  
  2107.  
  2108.  
  2109.        3.5.30 `-R' (ALL) Collect archive files recursively  
  2110.  
  2111.           When this  option  is  enabled  LhA  will  search for archive
  2112.        files  recursively using the archive file specification given at
  2113.        the  command  line.  This  works  like  the  `-r' option but for
  2114.        archive files.  
  2115.  
  2116.         EXAMPLE 
  2117.          `lha  -R  l  dh0:files/a*'  will  list  the  contents  of all
  2118.          archive   files   whose  names  begin  in  `a'  in  directory
  2119.          `dh0:files' and its subdirectories.  
  2120.  
  2121.          `lha  -R  l *' will list the contents of all archive files in
  2122.          the current directory and its subdirectories.  
  2123.  
  2124.          `lha  -R  l  myarc'  will  list  the contents of all archives
  2125.          called  'myarc.lzh'  or  `myarc.lha' in the current directory
  2126.          and its subdirectories.  
  2127.  
  2128.           This option is OFF by default.  
  2129.  
  2130.        3.5.32 `-S' (add) Set A-flag on archived files 
  2131.  
  2132.           When this  option  is  on,  LhA will set the A (for Archived)
  2133.        file  protection  flag  on  all  files  that  are  added  to  an
  2134.        archive.   This  can  be used to simplify automatic backups when
  2135.        used  together with the -O (Add files without A-flag only).  See
  2136.        section 3.5.24 for more details.  
  2137.  
  2138.           This option is OFF by default.  
  2139.  
  2140.        3.5.33 `-t' (upx) Only new files   
  2141.  
  2142.           When this  option  is  active,  LhA  will  not  overwrite  or
  2143.        replace  any files.  In extract mode, LhA will not even consider
  2144.        overwriting any existing files.  
  2145.  
  2146.                                      NOTE
  2147.  
  2148.             This option overrides the `-T' option.  
  2149.  
  2150.  
  2151.           This option is OFF by default.  
  2152.  
  2153.        3.5.34 `-T' (upx) New and newer files  
  2154.  
  2155.           When this  option  is  active,  LhA will overwrite or replace
  2156.        files  that  already exists and are older than the current file,
  2157.        and  create files that does not already exist.  In extract mode,
  2158.  
  2159.  
  2160.      
  2161.  
  2162.  
  2163.      V1.0                     LhA User's Guide                  Page 36
  2164.  
  2165.  
  2166.        LhA  will  overwrite only older files and create files that does
  2167.        not  already  exist.  In archive update mode, this option is not
  2168.        useful since the `u' command already achieves the same effect.  
  2169.  
  2170.                                      NOTE
  2171.  
  2172.             This option overrides the `-t' option.  
  2173.  
  2174.  
  2175.           This option is OFF by default.  
  2176.  
  2177.        3.5.35 `-u' (ALL) Make filenames uppercase   
  2178.  
  2179.           This option,  when  active,  will  force  LhA  to convert all
  2180.        filenames   to  uppercase.   This  can  be  useful  when  making
  2181.        archives  that  are supposed to be used on MSDOS-Systems running
  2182.        LhArc/LHA.   While  these have no problems with extracting files
  2183.        with  mixed-case  filenames,  the pattern matching routines will
  2184.        not   work   correctly.   Never  use  this  for  Amiga-archives,
  2185.        all-uppercase  filenames  look  very  dull  and reminds me of an
  2186.        ancient-looking  brain-damaged  operating system MicroSoft wrote
  2187.        once upon a time very long ago (`mess-loss').  
  2188.  
  2189.           This option is OFF by default.  
  2190.  
  2191.        3.5.36 `-U' (upx) Set update interval   
  2192.  
  2193.           This option  is  used to set the interval (in bytes) at which
  2194.        LhA  updates  the  byte progress indicator. The desired interval
  2195.        must  be  expressed  in bytes (using digits only or the suffixes
  2196.        listed  in  section 3.5.37), and must immediately follow the `U'
  2197.        character.  
  2198.  
  2199.         EXAMPLE 
  2200.  
  2201.          `LhA  -U4096  a  bar.lzh  *.c' will add all c-source files in
  2202.          the  current directory to `bar.lzh' with a progress indicator
  2203.          interval of 4096 (4K) bytes.  
  2204.  
  2205.          `LhA  -U32768  a bar.lzh *.c' will do the same as the example
  2206.          above, but with a update interval of 32768 bytes (32K).  
  2207.  
  2208.                                      NOTE
  2209.  
  2210.             This  option does currently not affect the update rate
  2211.             of  the  LHA decompression (`-lh5-' compression mode).
  2212.             When  LhA  decompresses  files  with  this compression
  2213.             mode,  the  update  rate  will  be whatever I/O buffer
  2214.             size  is  used  (set with the `-b' option). The reason
  2215.             of   this   behaviour  is  that  the  normal  progress
  2216.             indication  would  slow  down  decompression.  In  the
  2217.             evaluation  version,  only  the -lh1- decompression is
  2218.  
  2219.  
  2220.      
  2221.  
  2222.  
  2223.      V1.0                     LhA User's Guide                  Page 37
  2224.  
  2225.  
  2226.             affected   by   this  option,  for  various  unobvious
  2227.             reasons.  
  2228.  
  2229.  
  2230.           The default  update interval is 8192 (8K) bytes for -lh1- and
  2231.        -lh5-  compression  and 4096 (4K) bytes for -lh1- decompression.
  2232.        The  update  rate  for  -lh5- decompression is determined by the
  2233.        I/O buffer size setting (see note above).  
  2234.  
  2235.        3.5.37 `-v' (add) Set compression speed   
  2236.  
  2237.           This option   can   be  used  to  increase  or  decrease  the
  2238.        compression  speed.  -v0 is the slowest, and -v9 is the fastest.
  2239.        As  usual  you  can't get everything for nothing, so compression
  2240.        performance  is  slightly  looser with -v9 than with -v0 but the
  2241.        difference  in  speed  can  be significant (especially with some
  2242.        binary  graphics  data). Higher compression speed is attained by
  2243.        using less statistics in the compression phase.  
  2244.  
  2245.           The default  compression  speed  is  5 - works well in 99% of
  2246.        all cases.  
  2247.  
  2248.           .sect 2 3.5.38 `-w' (upd) Set work directory 
  2249.  
  2250.           This option  is used to specify what directory LhA should use
  2251.        to  store  temporary  files.  Temporary  files  are created when
  2252.        adding  files  to  archives, or when updating an archive in some
  2253.        way  (like  deleting  or  freshening  files). The work directory
  2254.        name must be specified immediately after the `-w' string.  
  2255.  
  2256.         EXAMPLE 
  2257.  
  2258.          `LhA   -wrad:tmp  a  MyArc.lzh  *'  will  use  the  directory
  2259.          `rad:tmp'  as  temporary  storage  location  when  adding all
  2260.          files in the current directory to the archive `MyArc.lzh'.  
  2261.  
  2262.           By default  LhA  uses the `T:' directory for temporary files,
  2263.        if  this  assign  or  device  does  not  exist, LhA will use the
  2264.        current directory.  
  2265.  
  2266.        3.5.39 `-x' (all) Preserve and use pathnames  
  2267.  
  2268.  
  2269.        3.5.40 `-X' (ALL) Do not append suffix  
  2270.  
  2271.           When this  option  is  enabled, LhA will not append an `.lzh'
  2272.        or  `.lha'  suffix  to  the  given  archive  name.   The default
  2273.        behaviour  is  to append a suffix of `.lha' or `.lzh' (suffix is
  2274.        chosen  depending  on  compression  mode)  if  the name does not
  2275.        already have an extension.  
  2276.  
  2277.           This option is OFF by default (suffixes are appended).  
  2278.  
  2279.  
  2280.      
  2281.  
  2282.  
  2283.      V1.0                     LhA User's Guide                  Page 38
  2284.  
  2285.  
  2286.        3.5.41 `-Y' (add) Store big files with ratio 
  2287.  
  2288.           When this  option  is  enabled,  LhA  will  store  big  files
  2289.        (>32KB)  without  compression if compression ratio is lower than
  2290.        3%.  This is because extraction times of these files are long on
  2291.        slower machines.  
  2292.  
  2293.           This option is OFF by default (all files are compressed).  
  2294.  
  2295.        3.5.42 `-z' (add) Do not compress files  
  2296.  
  2297.           This option,  when  active,  will  force  LhA  to  store  all
  2298.        updated  or  added  files  in  the archive without attempting to
  2299.        compress  them.   Useful  for  making fast backups where archive
  2300.        size  is  of  no  importance.   It  is not advisable to use this
  2301.        option  when  making  archives  for  distribution  via  modem or
  2302.        networks  since  the  archive will end up much larger than if it
  2303.        was compressed.  
  2304.  
  2305.         EXAMPLE 
  2306.          `lha  -z a foo.lha *.bmp' Will store all files in the current
  2307.          directory  with  a  suffix  of  `.bmp'  in  the  archive file
  2308.          `foo.lha' without compressing them.  
  2309.  
  2310.           This option is OFF by default.  
  2311.  
  2312.        3.5.43 `-Z' (add) Compress archives    
  2313.  
  2314.           This option  will  cause  LhA  to attempt compressing already
  2315.        compressed files.  
  2316.  
  2317.           By default,  LhA will not attempt to compress files which are
  2318.        already  compressed (typically archive files or picture files in
  2319.        GIF  or  JPEG  format).  The  file  type  is determined from the
  2320.        suffix,  and  files with names ending in `.lzh', `.lha', `.zoo',
  2321.        `.zip',  `arj',  `.arc', `.dms', `.wrp', `.lhw', `.zap', `.pak',
  2322.        `.pp', `.gif', or `.jpg'.  
  2323.  
  2324.           The reason   why  already  compressed  files  should  not  be
  2325.        compressed  is  that  the  number  of bytes gained by this is so
  2326.        small    that    it    is    not    worth    the    time   spent
  2327.        compressing/decompressing it.  
  2328.  
  2329.           This option is OFF by default.  
  2330.  
  2331.        3.5.45 `-0' (add) Use LhArc 1.x compression  
  2332.  
  2333.           This option  causes  LhA  to  use  the  old -lh1- compression
  2334.        method  when  updating  archives.  This  compression  method  is
  2335.        slightly  faster  than  the  normal  -lh5-  compression  but has
  2336.        looser compression and is much slower to decompress.  
  2337.  
  2338.  
  2339.  
  2340.      
  2341.  
  2342.  
  2343.      V1.0                     LhA User's Guide                  Page 39
  2344.  
  2345.  
  2346.           When this   compression   mode   is  used,  LhA  defaults  to
  2347.        appending a suffix of `.lzh' when creating archives.  
  2348.  
  2349.           When this  option  is specified, option `-2' is automatically
  2350.        deactivated.  
  2351.  
  2352.           By default the -lh5- compression is used.  
  2353.  
  2354.        3.5.46 `-2' (add) Use LhA compression   
  2355.  
  2356.           This option  causes  LhA  to  use  the  new -lh5- compression
  2357.        method  when  updating  archives.  This  compression  method  is
  2358.        slightly  slower  then the old -lh1- compression but has tighter
  2359.        compression and is much faster to decompress.  
  2360.  
  2361.           When this   compression   mode   is  used,  LhA  defaults  to
  2362.        appending a suffix of `.lha' when creating archives.  
  2363.  
  2364.           When this  option  is specified, option `-0' is automatically
  2365.        deactivated.  
  2366.  
  2367.           This is the default compression mode.  
  2368.  
  2369.        3.5.49 `-Qh' (add) Set Huffman buffer size  
  2370.  
  2371.           This option  can  be  used to set the size of the buffer used
  2372.        in  LHA  compression  (default or selected with the `-2' option)
  2373.        for  collecting  statistics. The size of this buffer affects the
  2374.        compression  ratio  in  unpredictable  ways.  As a general rule,
  2375.        keep  this at the default, but if you are compressing homogenous
  2376.        data  with  a  relatively  fixed  relative  frequency of symbols
  2377.        (like  text  files),  setting this to a large value will improve
  2378.        compression.  Binaries  generally compress best with the default
  2379.        setting.  
  2380.  
  2381.           The Huffman  buffer may be of any size between 4K and 64K and
  2382.        must  be  specified immediately following the `-Qh' string, with
  2383.        digits only or with the suffixes described in section 3.5.37.  
  2384.  
  2385.         EXAMPLE 
  2386.  
  2387.          `LhA  -Qh32  -2  a  foo.lha *' will compress all files in the
  2388.          current  directory using a Huffman buffer size of 32768 (32K)
  2389.          bytes.  
  2390.  
  2391.          `LhA  -Qh4  -2  a  foo.lha  *' will compress all files in the
  2392.          current  directory  using  a Huffman buffer size of 4096 (4K)
  2393.          bytes.  
  2394.  
  2395.           The default Huffman buffer size is 16K.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.      
  2401.  
  2402.  
  2403.      V1.0                     LhA User's Guide                  Page 40
  2404.  
  2405.  
  2406.  
  2407.  
  2408.        3.6 LhA error situations     
  2409.  
  2410.           ADD: 
  2411.  
  2412.           If a  user-specified  is  not  found during an add operation,
  2413.        LhA  will  continue  processing,  and  will keep the archive and
  2414.        terminate with an error condition.  
  2415.  
  2416.           In a  disk  full  condition  or any other file I/O error, LhA
  2417.        will  promptly  terminate with an error condition and delete the
  2418.        temporary  archive  file  unless  the  `-k' (keep partial files)
  2419.        option has been specified on the command line or in LHAOPTS.  
  2420.  
  2421.  
  2422.           MOVE: 
  2423.  
  2424.           LhA will  only delete files that have been successfully added
  2425.        to   the  archive.   If  you  have  specified  the  `-Qt'  (Test
  2426.        temporary  archives)  option,  LhA  will abort on any error.  If
  2427.        you  have  specified  the  `-k' (Keep partial files) option, LhA
  2428.        will not delete the temporary archive upon an abort.  
  2429.  
  2430.  
  2431.           EXTRACT: 
  2432.  
  2433.           In a  disk  full  condition  or any other file error LhA will
  2434.        promptly  terminate  with  an  error  condition  and  delete the
  2435.        current output file (unless the `-k' option has been enabled).  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.      
  2461.  
  2462.  
  2463.      V1.0                     LhA User's Guide                  Page 41
  2464.  
  2465.  
  2466.        4 Politics       
  2467.  
  2468.        4.1 Registration       
  2469.  
  2470.           LhA is  a copyrighted product that has been made available to
  2471.        you  under  the  concept of "Shareware".  It has never been, nor
  2472.        will  it  ever  be  in  the  "Public Domain".  You are granted a
  2473.        limited  license in order to evaluate these programs.  If, after
  2474.        a  3  or  4  week  period of evaluation, you find that LhA suits
  2475.        your  archiving  needs,  please  register.   By cooperating with
  2476.        this  concept  you  help to ensure continued development of this
  2477.        product.  
  2478.  
  2479.           Registered users  will  be  shipped  a  disk  with the latest
  2480.        release  version  of  LhA together with a keyfile. This keyfile,
  2481.        once   copied   to  your  system,  will  disable  the  ShareWare
  2482.        reminders  that always open when you start or quit the Intuition
  2483.        driven programs in the LhA family.  
  2484.  
  2485.           Site license  information  for  commercial and government use
  2486.        can be obtained directly from the author.  
  2487.  
  2488.           No person(s)   or   businesses  other  than  the  author  are
  2489.        authorized  to  accept  any registration or distribution fees in
  2490.        any  form  whatsoever,  except  as specified by the author.  The
  2491.        only  people  who  will  be acknowledged as registered users are
  2492.        those  who  have  sent SEK 100,- for Nordic addresses (SEK 110,-
  2493.        for  other European countries, SEK 115,- for overseas addresses)
  2494.        to: 
  2495.  
  2496.                                LhA Development
  2497.                               c/o Stefan Boberg
  2498.                               Rydsvägen 242 A:25
  2499.                               S-58251 Linköping
  2500.                                Sweden / Europe
  2501.  
  2502.  
  2503.           As one  of  the  safest  and  easiest  ways  to  send in your
  2504.        registration  fee  from  other  countries,  I  would  suggest an
  2505.        international  postal money order -- your local post office will
  2506.        be  happy  to  provide you with more information about this.  It
  2507.        also  has  the  advantage  that  the  exchange  of currencies is
  2508.        handled automatically and the surcharge is negligible.  
  2509.  
  2510.           Should the  above  not  work out satisfyingly, you can either
  2511.        send  a  cheque  or  money  order  payable  to  Stefan Boberg in
  2512.        Swedish  Crowns  or have your bank transfer the registration fee
  2513.        to  the  "Svenska  Handelsbanken"  account  145.587.932  "Stefan
  2514.        Boberg".  Beware:  International  transfers  via banks are quite
  2515.        expensive.  
  2516.  
  2517.           In any  case,  be sure to provide me with your name, address,
  2518.  
  2519.  
  2520.      
  2521.  
  2522.  
  2523.      V1.0                     LhA User's Guide                  Page 42
  2524.  
  2525.  
  2526.        fido-nodenumber/InterNet  address and international phone number
  2527.        for   filing   purposes.  You  can  send  this  information  via
  2528.        electronic  mail,  if  you  wish.   If you don't mind, this data
  2529.        will  be  stored  and  processed in electronic form.  There is a
  2530.        sample   registration   form   you  can  fill  in  in  the  file
  2531.        "OrderForm".  
  2532.  
  2533.           Please allow two to eight weeks for delivery.  
  2534.  
  2535.        4.2 Distribution       
  2536.  
  2537.           Basically, LhA  may  be  distributed  freely  as  long as the
  2538.        following conditions are met: 
  2539.  
  2540.           The distributor  may  only  charge  a  fee up to the costs of
  2541.        obtaining   a  public  domain  diskette  from  Fred  Fish.   The
  2542.        distributor  agrees  to cease distributing the programs and data
  2543.        involved  if  requested to do so by the author.  The distributor
  2544.        may  only distribute an unmodified copy of the original program,
  2545.        with  all  the  supplied  documentation  and  copyright  notices
  2546.        intact.  
  2547.  
  2548.           For more details, see the chapter called "License".  
  2549.  
  2550.        4.3 Support       
  2551.  
  2552.           If you  have  any  suggestions,  bug  reports  or  questions,
  2553.        please  contact  the  author  of  LhA  at  the  address given in
  2554.        section 4.1 or at one of the electronic mail addresses below: 
  2555.  
  2556.                  InterNet: boberg@lysator.liu.se 
  2557.                  or      : stefan_boberg@augs.se 
  2558.  
  2559.                  FIDONet : "Stefan Boberg" at node 2:204/404 
  2560.  
  2561.           When sending  in bug reports, please state exactly under what
  2562.        circumstances  the  bug  occurred,  what  equipment was used and
  2563.        what   happened.   If  possible  also  try  to  give  me  enough
  2564.        information  to reproduce the bug.  It is very difficult to find
  2565.        bugs  when  you  don't know exactly what happened.  Please don't
  2566.        just  send  messages  like "it can't extract files from archives
  2567.        sometimes",  that  really  doesn't help me.  If possible, submit
  2568.        the offending file/archive to me so I can test it myself.  
  2569.  
  2570.        4.4 License       
  2571.  
  2572.        1.  This  license  applies to the product called "LhA", a set of
  2573.           programs  for  the  Commodore-Amiga  computer,  published  by
  2574.           Stefan  Boberg  under  the  concepts  of  ShareWare,  and the
  2575.           accompanying  documentation,  example files and anything else
  2576.           that   comes   with  the  original  distribution.  The  terms
  2577.           "Programs"  and  "LhA"  below,  refer  to  this product.  The
  2578.  
  2579.  
  2580.      
  2581.  
  2582.  
  2583.      V1.0                     LhA User's Guide                  Page 43
  2584.  
  2585.  
  2586.           licensee is addressed as "you".  
  2587.  
  2588.        2.  You   may   copy  and  distribute  verbatim  copies  of  the
  2589.           programs'  executable  code  and documentation as you receive
  2590.           it,  in  any  medium,  provided  that  you  conspicuosly  and
  2591.           appropriately   publish   only   the   original,   unmodified
  2592.           programs,  with  all  copyright  notices  and  disclaimers of
  2593.           warranty   intact   and   including   all   the  accompanying
  2594.           documentation,  example  files  and  anything  else that came
  2595.           with the original.  
  2596.  
  2597.                                 <file list here>
  2598.  
  2599.  
  2600.        3.  You  may  not  copy and/or distribute these programs without
  2601.           the  accompanying  documentation  and  other additional files
  2602.           that  came  with  the  original.   You  may  not  copy and/or
  2603.           distribute modified versions of these programs.  
  2604.  
  2605.        4.  You   may   not  copy,  modify,  sublicense,  distribute  or
  2606.           transfer  the  programs  except  as  expressly provided under
  2607.           this   license.   Any  attempt  otherwise  to  copy,  modify,
  2608.           sublicense,  distribute or transfer the programs is void, and
  2609.           will  automatically terminate your rights to use the programs
  2610.           under  this  license.   However,  parties  who  have received
  2611.           copies,  or rights to use copies, from you under this license
  2612.           will  not  have  their  licenses  terminated  so long as such
  2613.           parties remain in full compliance.  
  2614.  
  2615.        5.  By  copying,  distributing  and/or  using  the  programs you
  2616.           indicate  your  acceptance  of this license to do so, and all
  2617.           its terms and conditions.  
  2618.  
  2619.        6.  Each  time  you  redistribute  the  programs,  the recipient
  2620.           automatically  receives  a license from the original licensor
  2621.           to  copy, distribute and/or use the programs subject to these
  2622.           terms  and  conditions.   You  may  not  impose  any  further
  2623.           restrictions  on  the  recipients'  exercise  of  the  rights
  2624.           granted herein.  
  2625.  
  2626.        7.  You  may  not disassemble, decompile, re-source or otherwise
  2627.           reverse engineer the programs.  
  2628.  
  2629.        8.  You  may  use the programs for a period of up to 30 days for
  2630.           evaluation.  After that, you have to register.  
  2631.  
  2632.        9.  If  you wish to incorporate parts of the programs into other
  2633.           programs, write to the author to ask for permission.  
  2634.  
  2635.        10.  You  agree  to  cease  distributing  the  programs and data
  2636.           involved if requested to do so by author.  
  2637.  
  2638.  
  2639.  
  2640.      
  2641.  
  2642.  
  2643.      V1.0                     LhA User's Guide                  Page 44
  2644.  
  2645.  
  2646.        11.  You  may  charge  a fee to recover distribution costs.  The
  2647.           fee  for  diskette distribution may not be more than the cost
  2648.           to obtain a public domain diskette from Fred Fish.  
  2649.  
  2650.  
  2651.        4.5 No Warranty      
  2652.  
  2653.           THERE IS   NO  WARRANTY  FOR  THE  PROGRAMS,  TO  THE  EXTENT
  2654.        PERMITTED  BY  APPLICABLE  LAW.  EXCEPT WHEN OTHERWISE STATED IN
  2655.        WRITING  THE  COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
  2656.        PROGRAMS  "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
  2657.        OR   IMPLIED,   INCLUDING,  BUT  NOT  LIMITED  TO,  THE  IMPLIED
  2658.        WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A PARTICULAR
  2659.        PURPOSE.   THE  ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
  2660.        THE  PROGRAMS IS WITH YOU.  SHOULD THE PROGRAMS PROVE DEFECTIVE,
  2661.        YOU  ASSUME  THE  COST  OF  ALL  NECESSARY  SERVICING, REPAIR OR
  2662.        CORRECTION.  
  2663.  
  2664.           IN NO  EVENT  UNLESS  REQUIRED BY APPLICABLE LAW OR AGREED TO
  2665.        IN  WRITING  WILL  ANY  COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO
  2666.        MAY  REDISTRIBUTE  THE PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO
  2667.        YOU  FOR  DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
  2668.        CONSEQUENTIAL  DAMAGES  ARISING  OUT  OF THE USE OR INABILITY TO
  2669.        USE  THE  PROGRAMS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
  2670.        DATA  BEING  RENDERED  INACCURATE  OR LOSSES SUSTAINED BY YOU OR
  2671.        THIRD  PARTIES  OR A FAILURE OF THE PROGRAMS TO OPERATE WITH ANY
  2672.        OTHER  PROGRAMS),  EVEN  IF  SUCH HOLDER OR OTHER PARTY HAS BEEN
  2673.        ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  
  2674.  
  2675.  
  2676.        4.6 Disclaimer       
  2677.  
  2678.           No warranty,  either express or implied, is made with respect
  2679.        to the fitness or merchantability of LhA.  
  2680.  
  2681.           Stefan Boberg  (referred  to  as  "the  author"), reserve the
  2682.        right to not develop any future versions of LhA.  
  2683.  
  2684.           The author   will  try  to  make  a  good  faith  attempt  at
  2685.        correcting  any  problems  if  any are discovered, but are in no
  2686.        way required, nor bound to correct them.  
  2687.  
  2688.           The author  neither  assume  or accept any responsibility for
  2689.        the  use  or  misuse  of  these programs.  They also will not be
  2690.        held  liable for damages or any compensation beyond the original
  2691.        registration  fee  due  to  loss  of profit or any other damages
  2692.        arising out of the use, or inability to use these programs.  
  2693.  
  2694.           Stefan Boberg  will not be liable for any damage arising from
  2695.        the  failure  of  these programs to perform as described, or any
  2696.        destruction  of  other  programs  or  data  residing on a system
  2697.        attempting  to  run  the  programs.  While I know of no damaging
  2698.  
  2699.  
  2700.      
  2701.  
  2702.  
  2703.      V1.0                     LhA User's Guide                  Page 45
  2704.  
  2705.  
  2706.        errors,  the  user  of  these programs uses it at his or her own
  2707.        risk.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.      
  2761.  
  2762.  
  2763.      V1.0                     LhA User's Guide                  Page 46
  2764.  
  2765.  
  2766.        5 Acknowledgements       
  2767.  
  2768.        Haruyasu Yoshizaki  For releasing the source of the original LHA
  2769.                             for  MSDOS.   The  source  was  used  as  a
  2770.                             reference  when  writing  this  program. No
  2771.                             actual  code  was  copied from this source,
  2772.                             rather  LhA  was  written  from scratch for
  2773.                             the Amiga.  
  2774.  
  2775.        Haruhiko Okumura  For  devising  the -lh5- and -lh4- compression
  2776.                             algorithms,  and for releasing the C source
  2777.                             for  these  to  the  public  domain.  These
  2778.                             sources  were  used  as  a  reference  when
  2779.                             writing  the  680x0  assembler  versions of
  2780.                             the  compression  and  decompression  code.
  2781.                             Some  algorithms were replaced with my own,
  2782.                             faster ones.  
  2783.  
  2784.        Robert K.Jung  For making the feature-packed ARJ for MSDOS, from
  2785.                             which   several   ideas  for  commands  and
  2786.                             features was included in LhA.  
  2787.  
  2788.        Paolo Zibetti  For making the first LhArc-style archiver for the
  2789.                             Amiga,  which  made  me  interested in file
  2790.                             archivers  and  advanced  data  compression
  2791.                             techniques.  
  2792.  
  2793.        Jonathan Forbes   For   making   the   -lh1-   compression   and
  2794.                             decompression   routines   of  LZ  slightly
  2795.                             faster    than   those   of   my   previous
  2796.                             (unfinished)  program  `LhArcA'.  This made
  2797.                             me  start  writing  this  program.  Another
  2798.                             reason  for  writing  LhA  was  that LZ had
  2799.                             some   misfeatures  and  did  not  work  as
  2800.                             intended.  
  2801.  
  2802.        Ron Birk  For  digging  out  the  source codes I needed before I
  2803.                             gained access to InterNet myself - Thanks! 
  2804.  
  2805.        LhArcA users  Big thanks to all of you who registered for LhArcA
  2806.                             and  LhA  even  before  the  programs  were
  2807.                             finished  (LhArcA  never was, but those who
  2808.                             registered  will  receive LhI/LhA when it's
  2809.                             finished).  
  2810.  
  2811.  
  2812.           The license  agreement was heavily inspired by (almost copied
  2813.        from)  the  TrapDoor license, which in turn was inspired by Jack
  2814.        Radigan and the GNU General public License.  
  2815.  
  2816.           The manual  was  formatted with a modified version of `proff'
  2817.        (originally  written  for  VAX/VMS/MSDOS  by  Ozan S.  Yigit and
  2818.  
  2819.  
  2820.      
  2821.  
  2822.  
  2823.      V1.0                     LhA User's Guide                  Page 47
  2824.  
  2825.  
  2826.        Steven Tress).  
  2827.  
  2828.           The program  was  developed  using the Lattice C Compiler and
  2829.        Assembler  on  a  25MHz  Amiga 3000 - Thanks for a great machine
  2830.        Commodore!   And also thanks for a great development environment
  2831.        Lattice!  Dying to get C++ for the Amiga...  
  2832.  
  2833.           Inspiration provided  (in  order  of  significance) by Linda,
  2834.        Depeche  Mode,  Pet Shop Boys, Erasure, Yazoo, OMD, Simple Minds
  2835.        and Kraftwerk.  
  2836.  
  2837.  
  2838.  
  2839.                     ... Post aspera grata ...  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.      
  2881.  
  2882.  
  2883.      
  2884.  
  2885.  
  2886.                               Table Of Contents
  2887.  
  2888.                                    LhA V1.0
  2889.  
  2890.        1 - Introduction     .....................................    1
  2891.           1.1 About the manual    ...............................    1
  2892.           1.2 System requirements     ...........................    1
  2893.           1.3 Installation      .................................    2
  2894.           1.4 Terminology      ..................................    2
  2895.           1.5 LhA - what is it?  ................................    2
  2896.           1.6 What is a file archiver anyway? ...................    3
  2897.           1.7 Why should I use LhA?  ............................    4
  2898.              1.7.1 How fast is it?   ............................    5
  2899.           1.8 Compatibility and Amiga-specific features   .......    7
  2900.           1.9 About the author program history and future........    8
  2901.        2 Tutorial      ..........................................   10
  2902.        3 Reference guide     ....................................   11
  2903.           3.1 Command line syntax    ............................   11
  2904.              3.1.1 Specifying options     .......................   11
  2905.              3.1.2 Specifying commands     ......................   11
  2906.              3.1.3 Specifying archives     ......................   12
  2907.              3.1.4 Specifying action files    ...................   12
  2908.              3.1.5 Home directories     .........................   12
  2909.              3.1.6 Recursive file collection    .................   13
  2910.              3.1.7 Specifying destination directory    ..........   14
  2911.              3.1.8 `@'-files      ...............................   14
  2912.              3.1.9 LhA limitations     ..........................   14
  2913.           3.3 Pattern matching     ..............................   16
  2914.              3.3.0 Exactly what is pattern matching anyway? .....   16
  2915.              3.3.1 Accepted pattern tokens    ...................   16
  2916.                 3.3.1.1 Question mark (?)    ....................   16
  2917.                 3.3.1.2 Star/Asterisk (*)     ...................   17
  2918.                 3.3.1.3 Hash mark (#)    ........................   17
  2919.                 3.3.1.4 Square brackets ([])    .................   18
  2920.                 3.3.1.5 Parentheses and the vertical bar  .......   18
  2921.                 3.3.1.6 Tilde (~)     ...........................   19
  2922.                 3.3.1.7 Percent sign (%)    .....................   19
  2923.           3.4 Commands      .....................................   21
  2924.              3.4.1 `a' Add files to archive  ....................   21
  2925.              3.4.3 `d' Delete files from archive  ...............   21
  2926.              3.4.4 `e' Extract files from archive  ..............   22
  2927.              3.4.5 `f' Freshen files in archive  ................   22
  2928.              3.4.8 `l' List archive contents (terse)  ...........   22
  2929.              3.4.9 `m' Move files to archive  ...................   23
  2930.              3.4.14 `p' Print files to stdout  ..................   23
  2931.              3.4.17 `t' Test archive integrity   ................   23
  2932.              3.4.18 `u' Update archive    .......................   24
  2933.              3.4.19 `v' List archive (verbose)   ................   24
  2934.              3.4.20 `vv' List archive (full)   ..................   25
  2935.              3.4.21 `x' Extract files with path  ................   25
  2936.           3.5 Options      ......................................   27
  2937.              3.5.1 `-a' (upx) Preserve file attributes  .........   27
  2938.  
  2939.  
  2940.                                     - I -
  2941.  
  2942.  
  2943.      
  2944.  
  2945.  
  2946.              3.5.2 `-A' (upd) Set archive attributes  ...........   28
  2947.              3.5.3 `-b' (all) Set I/O buffer size ...............   28
  2948.              3.5.5 `-c' (all) Confirm files   ...................   29
  2949.              3.5.6 `-C' (ext) Clear arc-bit on extract ..........   29
  2950.              3.5.8 `-D' (all) Alternate progress display  .......   29
  2951.              3.5.11 `-f' (all) Ignore filenotes   ...............   30
  2952.              3.5.12 `-F' (all) Use fast progress display ........   30
  2953.              3.5.16 `-i' (all) Read filelist from file ..........   30
  2954.              3.5.17 `-k' (all) Keep partial files  ..............   31
  2955.              3.5.18 `-l' (ALL) Make filenames lowercase  ........   32
  2956.              3.5.19 `-L' (ALL) Create filelist   ................   32
  2957.              3.5.20 `-m' (ALL) No messages for query ............   32
  2958.              3.5.21 `-n' (upx) No byte progress indicator .......   33
  2959.              3.5.22 `-N' (all) No progress indicator  ...........   33
  2960.              3.5.23 `-o' (upx) On or after date .................   33
  2961.              3.5.25 `-p' (ALL) Pause after loading  .............   34
  2962.              3.5.26 `-P' (ALL) Set task priority  ...............   34
  2963.              3.5.27 `-q' (ALL) Be quiet   .......................   34
  2964.              3.5.28 `-Q' (ALL) Alternate option set  ............   34
  2965.              3.5.29 `-r' (add) Collect action files recursively .   34
  2966.              3.5.30 `-R' (ALL) Collect archive files recursively    35
  2967.              3.5.32 `-S' (add) Set A-flag on archived files......   35
  2968.              3.5.33 `-t' (upx) Only new files  ..................   35
  2969.              3.5.34 `-T' (upx) New and newer files ..............   35
  2970.              3.5.35 `-u' (ALL) Make filenames uppercase  ........   36
  2971.              3.5.36 `-U' (upx) Set update interval  .............   36
  2972.              3.5.37 `-v' (add) Set compression speed  ...........   37
  2973.              3.5.39 `-x' (all) Preserve and use pathnames .......   37
  2974.              3.5.40 `-X' (ALL) Do not append suffix .............   37
  2975.              3.5.41 `-Y' (add) Store big files with ratio........   37
  2976.              3.5.42 `-z' (add) Do not compress files ............   38
  2977.              3.5.43 `-Z' (add) Compress archives   ..............   38
  2978.              3.5.45 `-0' (add) Use LhArc 1.x compression ........   38
  2979.              3.5.46 `-2' (add) Use LhA compression  .............   39
  2980.              3.5.49 `-Qh' (add) Set Huffman buffer size .........   39
  2981.           3.6 LhA error situations    ...........................   40
  2982.        4 Politics      ..........................................   41
  2983.           4.1 Registration      .................................   41
  2984.           4.2 Distribution      .................................   42
  2985.           4.3 Support      ......................................   42
  2986.           4.4 License      ......................................   42
  2987.           4.5 No Warranty     ...................................   44
  2988.           4.6 Disclaimer      ...................................   44
  2989.        5 Acknowledgements      ..................................   46
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.                                     - II -
  3001.  
  3002.