home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / HATCH / WWSRT122.ZIP / WWIVSORT.DOC < prev    next >
Text File  |  1996-07-11  |  37KB  |  876 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                ═════════════════════════════════════════════════
  8.                C M I   P R O D U C T   R E G I S T R A T I O N S
  9.                ═════════════════════════════════════════════════
  10.  
  11.      This product is SHAREWARE.  License is granted to use the program
  12.      without charge for an evaluation period of not more than 30 days.
  13.      After this time, users are required to register or cease their use of
  14.      the program.  The registration fee for this program is $5 U.S. for
  15.      each installed copy.  Mail your payment in a check or money order to:
  16.  
  17.                           Ken W. Harris
  18.                           9948 Duffy St.
  19.                           Temple City, CA  91780-2607
  20.  
  21.      Note: DO NOT make your check or money order payable to CMI Software,
  22.      as this is only my trade name and I do not have a business checking
  23.      account under that name.
  24.  
  25.                ═════════════════════════════════════════════════
  26.  
  27.      A registration form can be found on the next page.  Please fill it out
  28.      completely and submit it with your payment.  If possible, please
  29.      include your Internet e-mail address; this will allow your registered
  30.      copy to be sent as an e-mail file attachment.  If you do not have
  31.      Internet mail access, other arrangements will need to be made to
  32.      receive your registered copy.  Future versions of WWIVSort will use
  33.      WWIV.INI registration codes, so registered copies will not need to be
  34.      custom-compiled with registration codes imbedded in them.
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.      Date: ___/___/___
  42.  
  43.      Product being registered: ____________________________________________
  44.  
  45.      Amount enclosed: $__________
  46.  
  47.      Your name: ___________________________________________________________
  48.                 [Enter name as you want it to appear in registration]
  49.  
  50.      Address  : ___________________________________________________________
  51.  
  52.                 ___________________________________________________________
  53.  
  54.                 ___________________________________________________________
  55.  
  56.      BBS name : ___________________________________________________________
  57.                 [Enter BBS name as it appears in INIT]
  58.  
  59.      BBS phone: ___________________________________________________________
  60.                 [Enter BBS phone as it appears in INIT]
  61.  
  62.      Net Addr.: ___________________________________________________________
  63.  
  64.                        ┌─────────────────────── ┌┬┐┌┬┬┐┌┐
  65.                        │ U S E R   S U R V E Y  │├┤│├┤│││
  66.                        └─────────────────────── └┴┘└┘└┘└┘
  67.  
  68.      Have you used a previous version of this program?              [Y] [N]
  69.  
  70.      Will you consider using future versions?                       [Y] [N]
  71.  
  72.      Does this program contain all the features you want?           [Y] [N]
  73.  
  74.      How would you rate this program on a scale of 1 to 10?      __________
  75.  
  76.      How would you rate the documentation on a scale of 1 to 10? __________
  77.  
  78.      Comments/Suggestions: ________________________________________________
  79.  
  80.      ______________________________________________________________________
  81.  
  82.      ______________________________________________________________________
  83.  
  84.      ______________________________________________________________________
  85.  
  86.      ______________________________________________________________________
  87.  
  88.      ______________________________________________________________________
  89.  
  90.      ______________________________________________________________________
  91.  
  92.      ______________________________________________________________________
  93.  
  94.      ______________________________________________________________________
  95.  
  96.  
  97.  
  98.  
  99.  
  100.              ╔═══════════════════════════════════════════════════╗
  101.              ║  WWIVSORT 1.22 - Transfer AutoSort For WWIV 4.xx  ╟─┐
  102.              ║         (C) 1993-1996 by Ken Harris / CMI         ║ │
  103.              ╚═╤═════════════════════════════════════════════════╝ │
  104.                └───────────────────────────────────────────────────┘
  105.  
  106. OVERVIEW:
  107.  
  108.     WWIVSort is a general utility for sorting WWIV transfer section databases
  109.     [*.DIR files], updating filesizes within those databases, and generating
  110.     listings of files within the databases.  In addition, it will automatically
  111.     detect unused and inactive records within a .DIR file and pack that file to
  112.     remove the inactive records if any exist.
  113.  
  114.     WWIVSort fully supports batch operation by being completely automated from
  115.     the DOS command line and by returning various ERRORLEVEL codes to DOS upon
  116.     exit.  This makes WWIVSort ideal for your board's daily maintenance or
  117.     external event.
  118.  
  119.     New for v1.2:  WWIVSort now checks and adjusts the 'Daten' fields in any
  120.     .DIR file being processed.  The 'Daten' field is a numeric timestamp which
  121.     indicates the exact upload date/time of a file or, in the case of the
  122.     |MARKER| records, the date/time on which a .DIR file was last updated.  If a
  123.     file's 'Daten' field appears to be older than its actual upload date, its
  124.     'Daten' field will be adjusted to approximate a correct date/time stamp.
  125.  
  126.     New for v1.21:  WWIVSort now opens data files in LOCK WRITE mode.  This
  127.     allows multiple instances of the BBS to share READ access of those data
  128.     files.  The BBS cannot write to those data files until WWIVSort has finished
  129.     processing; this time will usually be very brief and should not cause any
  130.     conflicts with the BBS.
  131.  
  132.  
  133. IMPORTANT NOTICE:
  134.  
  135.     Your *.DIR files must be in unmodified stock form and must contain a
  136.     record size equal to that of 4.22's .DIR files [144 bytes].  In addition,
  137.     your DIRS.DAT file must also be unmodified and have a record size of 141
  138.     bytes.  WWIVSort will attempt to determine, as accurately as possible,
  139.     whether or not each particular file it tries to access appears to be
  140.     usable.  If not, the file will not be processed.  "Gold" mods which add
  141.     new fields to DIRS.DAT and/or to *.DIR are not supported by WWIVSort.
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.                      [ WWIVSort 1.22 User Manual - Page 1 ]
  156.  
  157.  
  158.  
  159.  
  160.  
  161. USING WWIVSORT:
  162.  
  163.     To install WWIVSort, the program should be placed in any directory in which
  164.     it will be able to locate CHAIN.TXT.  For instance, if you have a logon
  165.     event which copies CHAIN.TXT to another directory, WWIVSort can be run from
  166.     that directory.  It is recommended, however, that WWIVSort be placed in
  167.     your main BBS directory.
  168.  
  169.     Amendment for v1.2:  WWIVSort now searches the DOS PATH= environment
  170.     variable if it cannot locate CHAIN.TXT in the current directory.  Please
  171.     see the description of ErrorLevel 7 on page 8.
  172.  
  173.     If WWIVSort is run without any command line options or switches, it will
  174.     default to: Sort all directories by name in forward order, update file-
  175.     sizes, no report [file list] created.  If a command line which contains no
  176.     valid parameters is passed to WWIVSort, the program will display the help
  177.     screen.
  178.  
  179.     Note that it is not absolutely necessary to include spaces between any
  180.     command line or environment variable options being sent to WWIVSort - the
  181.     program contains logic which can always find the options required as long
  182.     as they have been passed to the program.
  183.  
  184.     Also, note that command line options may be given in -any- order.  Case is
  185.     not significant; options may be given in upper or lower case, or both.
  186.  
  187.     The following is a complete list of available WWIVSort command line options
  188.     and switches.  Note that certain options cannot be mixed [it is not pos-
  189.     sible to specify more than one sort method unless a listfile is used].
  190.  
  191.     Syntax:     WWIVSORT [<options> <method> <order> <count>]
  192.                 WWIVSORT /?    -    Help
  193.                 WWIVSORT ?     -      "
  194.                 WWIVSORT /HELP -      "
  195.  
  196.     If a question mark or the /HELP option are seen anywhere on WWIVSort's
  197.     command line, they will ALWAYS bring up the help screen.  Both of these
  198.     will automatically override any other options or switches, as WWIVSort
  199.     checks for them before it searches for any other command line options.
  200.     Also, since the presence of a question mark on the command line always for-
  201.     ces the help screen, it is not possible to use it as a DOS wildcard char-
  202.     acter with /F= or in listfiles [no wildcards are accepted by WWIVSort under
  203.     any circumstances].
  204.  
  205.  
  206. OPTIONS:
  207.  
  208.     /F=datafile   Name of specific directory data file [*.DIR] to sort;
  209.                   defaults to ALL if omitted.
  210.  
  211.  
  212.  
  213.  
  214.  
  215.                      [ WWIVSort 1.22 User Manual - Page 2 ]
  216.  
  217.  
  218.  
  219.  
  220.  
  221.     Note:  DOS wildcard characters * and ? are NOT ACCEPTED by WWIVSort!  If a
  222.     question mark is present, it will bring up the help screen.  If an asterisk
  223.     is present, WWIVSort will stop parsing at that point.  Example: You wish to
  224.     process three files named GAMESA2G.DIR, GAMESH2Q, and GAMESR2Z.DIR.  It
  225.     would not be possible to specify them simultaneously as /F=GAMES* - WWIVSort
  226.     would read this as GAMES.DIR and attempt to process a file by that name.  If
  227.     you wish to process a specific set of individual files, use the /F=@ option
  228.     as described below.
  229.  
  230.     /F=@listfile  'Listfile' is the name of a text file which contains a list
  231.                   of directory names [.DIR files] to be operated upon for sort,
  232.                   size, and/or report operations.  A list might look similar to
  233.                   this:
  234.  
  235.                   SYSOP
  236.                   WWIVMODS
  237.                   GAMES
  238.                   GRAPHICS
  239.  
  240.                   Each one of the above items will be assumed to be the name of
  241.                   a .DIR file and will be processed accordingly.  See the
  242.                   section 'USING LIST FILES' below for further details.
  243.  
  244.     Although WWIVSort will -accept- /F= and /F=@ on the command line simulta-
  245.     neously, it will always use only the first item it finds.  For instance, if
  246.     the command line contains /F=sysop/F=@sort.lst, only the file SYSOP.DIR
  247.     will be processed, and the listfile 'sort.lst' will be completely ignored.
  248.     Keep in mind that this also goes for all other WWIVSort command line
  249.     options - the first occurrence of any particular option will be used to the
  250.     exclusion of any other occurrences of that option.
  251.  
  252.     /NOSIZE       Skips filesize updating.  If this switch is NOT used, WWIV-
  253.                   Sort will attempt to update the file sizes of all files which
  254.                   are contained in the .DIR file database and are resident in
  255.                   each particular transfer library's directory.  This feature
  256.                   is especially useful when file sizes are changed because of
  257.                   the addition or removal of .ZIP banners, BBS advertisement
  258.                   files, etc.
  259.  
  260.     /NOSORT       Skips sort; may be used to force only size updates and/or
  261.                   reports.
  262.  
  263.     /R=           Creates a complete file listing of directories processed.
  264.                   Follow the /R= switch with the filename of the output file for
  265.                   your report [ex.: /R=files.txt].  The filename given will be
  266.                   used to produce a listing of the files in each .DIR file being
  267.                   processed.  It is produced -after- all other operations
  268.                   [sorting and filesize updating] are complete, so it will
  269.                   always reflect each file's last known size and the exact order
  270.                   in which files are contained in a given .DIR file.
  271.  
  272.                   Note - If /NOSIZE and /NOSORT are used -and- /R= is omitted,
  273.                   WWIVSort will have nothing to do!
  274.  
  275.                      [ WWIVSort 1.22 User Manual - Page 3 ]
  276.  
  277.  
  278.  
  279.  
  280.  
  281.                   There is no default filename for report output.  If the /R=
  282.                   option is specified, it -must- be immediately followed by a
  283.                   filename or device to be used for output.  If nothing follows
  284.                   /R=, the program will abort with an error.
  285.  
  286.     /D            Adjusts 'Daten' timestamps.  Each entry in a .DIR file con-
  287.                   tains a timestamp field called Daten.  This field indicates
  288.                   the time a particular file was uploaded or, in the case of the
  289.                   very first ['marker'] record, the time on which the .DIR was
  290.                   last updated.  Daten is a UNIX-format timestamp which measures
  291.                   time in seconds elapsed since midnight on 01/01/1970.
  292.  
  293.                   Occasionally, because of bugs or errors in certain programs,
  294.                   the Daten field for a file or marker record may be incorrect.
  295.                   The /D option will force WWIVSort to make adjustments to any
  296.                   Daten field it judges to be incorrect.  In the cases of indi-
  297.                   vidual files, this will mean a Daten value which appears older
  298.                   than the actual upload date [which is held in a text field in
  299.                   uploadsrec].  In the marker record, this will mean a Daten
  300.                   value which is older than the most recently-uploaded file.
  301.  
  302.                   If a file's Daten appears to be incorrect, WWIVSort will
  303.                   approximate a new value based on the date contained in the
  304.                   text 'upload date' field.  This new value may not be precisely
  305.                   correct as far as the upload time, but it will at least set
  306.                   the Daten to midnight on the correct upload date.
  307.  
  308.                   Note that under normal circumstances it will not be necessary
  309.                   to use /D; it should usually be specified only if the BBS's
  310.                   new file scan does not appear to be functioning properly.  It
  311.                   may also be necessary to use /D after running certain programs
  312.                   which may have a tendency to write incorrect Daten values.
  313.  
  314.                   WWIVSort uses a 99-year calendar for Daten approximation; it
  315.                   ranges from 1986 to 2085.
  316.  
  317.  
  318.     SORT METHODS:
  319.  
  320.     /M=D          Sort by description.
  321.     /M=E          Sort by extension.
  322.     /M=N          Sort by name [this is the default mode].
  323.     /M=S          Sort by size.
  324.     /M=T          Sort by times downloaded.
  325.     /M=U          Sort by upload date/time.
  326.     /M=W          Sort by 'who uploaded.'
  327.  
  328.     Note - only one sort method may be specified.  If more than one method is
  329.     specified, the first one given will be the method which is used - all else
  330.     will be ignored.
  331.  
  332.     If no method or an invalid method is specified, WWIVSort will automatically
  333.     default to sorting by filename [method N].
  334.  
  335.                      [ WWIVSort 1.22 User Manual - Page 4 ]
  336.  
  337.  
  338.  
  339.  
  340.  
  341.     ORDER:
  342.  
  343.     /B            Sort in reverse.  Defaults to forward sort if omitted.  There
  344.                   is no switch to force a forward sort; simply omit the /B
  345.                   switch to sort forward.  For instance, to place newer files at
  346.                   the top of the .DIR listing and older files at the bottom,
  347.                   specify /M=U/B.  To place newer files at the bottom of the
  348.                   listing, use /M=U.
  349.  
  350.     When performing a sort, WWIVSort will display the current method(s) being
  351.     used for each file.  For example, if the message "Sorting SR..." appears,
  352.     this indicates the current directory is being reverse-sorted by size [as in
  353.     "Sorting Size Reverse"].  Abbreviations are used to prevent WWIVSort's
  354.     progress messages from using more than one line of text on the screen.
  355.  
  356.     Before sorting any directory, WWIVSort performs an initial scan to deter-
  357.     mine whether or not that directory actually needs sorting according to the
  358.     current method.  During this very brief scan, WWIVSort will display the
  359.     message "Scanning..."  Afterward, you might see the message "Sorted
  360.     <method>."  This indicates that no sort was either performed or necessary
  361.     because that directory was already sorted according to the specified
  362.     method.
  363.  
  364.     The side-effect to this initial scan is that, when a sort -is- required,
  365.     there is a very brief amount of overhead time added to the sort process.
  366.     However, this preliminary scan can, under certain conditions, serve to
  367.     speed overall program execution time, since WWIVSort will not perform a
  368.     sort if it isn't necessary.
  369.  
  370.  
  371.     COUNT:
  372.  
  373.     WWIVSort 1.2 now writes the total bytes used, both in individual direc-
  374.     tories and in total among all directories processed, when writing reports.
  375.     By default, the sizes of offline files are not included in this count, but
  376.     their sizes -are- listed in reports.  The following switches may be used to
  377.     turn these defaults off:
  378.  
  379.     /O            When this switch is used, WWIVSort will replace the sizes of
  380.                   offline files with ----- when writing reports.  This makes it
  381.                   easier to spot offline or missing files.  The /O switch is
  382.                   global and cannot be used in listfiles.
  383.  
  384.     /C            This switch will force WWIVSort to include the sizes of off-
  385.                   line files in its count of bytes used.  If it is omitted,
  386.                   WWIVSort will count only the sizes of files which exist in
  387.                   the directory.  The /C switch is global and cannot be used in
  388.                   listfiles.
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.                      [ WWIVSort 1.22 User Manual - Page 5 ]
  396.  
  397.  
  398.  
  399.  
  400.  
  401.     /O and /C will be completely ignored if the /R= option is not active [no
  402.     report is being written].  They are not included in the initial check for
  403.     valid options when WWIVSort is run; if no other valid options are present
  404.     on the command line [/O or /C are used with no other options or
  405.     switches], WWIVSort will display the help screen.
  406.  
  407.  
  408. USING LIST FILES:
  409.  
  410.     As stated above, it is possible to create a list of directory names on
  411.     which WWIVSort will operate.  Starting with version 1.1, it is now also
  412.     possible to specify sort method, order, /NOSORT, and /NOSIZE as command
  413.     line options within the list file.  This means the options /M=, /B, /NO-
  414.     SORT, and /NOSIZE may now be appended to the filenames in list files.  Here
  415.     is an example of such an entry in a list file:
  416.  
  417.     SYSOP /M=D/B/NOSIZE
  418.  
  419.     Each item in a list file which contains extra parameters will be processed
  420.     as follows:  The /M= and /B options OVERRIDE any options given on the
  421.     command line.  /NOSORT and /NOSIZE are COMBINED with the command line!  If
  422.     the command line specifies /NOSIZE and the list file also specifies /NO-
  423.     SORT, neither sorting nor size updating will be performed for that partic-
  424.     ular directory.  Note that if both /NOSORT and /NOSIZE are active but no
  425.     report is being generated [/R= option was not used], then WWIVSort will
  426.     have nothing to do for that directory.
  427.  
  428.     The /R= option, if used in a list file, will be completely ignored.  It is
  429.     not possible to write to a report other than the report which has been
  430.     specified on the command line.
  431.  
  432.  
  433. WRITING REPORTS:
  434.  
  435.    When the /R= option is used, WWIVSort will create a text file listing the
  436.    contents of each directory it processes.  Each individual directory listed
  437.    in the report will contain a header which looks similar to this:
  438.  
  439.  ══════════════════════════════════════════════════════════════════════════════
  440.  CMI Products     [Programs By Crossfire]     Files:    4     Bytes:     168664
  441.  ──────────────────────────────────────────────────────────────────────────────
  442.  [Filename]    [Size]   [Date]  [DL] [Description]
  443.  ──────────────────────────────────────────────────────────────────────────────
  444.  
  445.     The top line of this header contains the name of the directory being lis-
  446.     ted, the number of files it contains in its database, and the number of
  447.     bytes used by the files listed.  This byte count will -not- include offline
  448.     files if the /C switch was not used.
  449.  
  450.     This header will then be followed by the filenames themselves:
  451.  
  452.  
  453.  
  454.  
  455.                      [ WWIVSort 1.22 User Manual - Page 6 ]
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  FSORT10 .ZIP    36164  06/20/93    0 Sorts BBSLIST.MSG in GFiles directory.
  462.  TAGMV21 .ZIP    69373  06/20/93    0 TagMaster 2.1 - Random tagline generator.
  463.  UREC422 .ZIP     6338  06/20/93    2 QB Declarations for WWIV 4.22 userrec.
  464.  WWSORT12.ZIP    56789  04/05/94    3 WWIVSort 1.2 - Transfer section auto-sort
  465.  ══════════════════════════════════════════════════════════════════════════════
  466.  
  467.     At the end of the report will be a footer which shows the total number of
  468.     files listed and the total number of bytes they occupy:
  469.  
  470.  Total files listed:  506
  471.  Total bytes listed:  10633702
  472.  
  473.     Remember that the /O switch will replace the sizes of offline files with a
  474.     series of five dashes.  For example:
  475.  
  476.  UREC422 .ZIP    -----  06/20/93    2 QB Declarations for WWIV 4.22 userrec.
  477.  
  478.     Also, keep in mind that the /C switch will force WWIVSort to count the sizes
  479.     of -all- files when it calculates the byte totals.  If /C is not used, WWIV-
  480.     Sort will count only the sizes of those files which happen to be online,
  481.     regardless of whether or not they are shown as such in the report.
  482.  
  483.  
  484. EXAMPLES:
  485.  
  486.     WWIVSORT /F=GAMES /NOSIZE /M=T /B
  487.  
  488.         Sorts GAMES.DIR by times downloaded, in reverse order [most-frequently
  489.         downloaded files first], does not check and update sizes of files.
  490.  
  491.     WWIVSORT /NOSORT /R=\BBS\FILES.TXT
  492.  
  493.         Acts on all *.DIR files, does not sort, updates file sizes, and creates
  494.         a file listing in \BBS\FILES.TXT.
  495.  
  496.         Note - If the /NOSORT switch is used, any options regarding sort method
  497.         or order will be ignored.
  498.  
  499.     WWIVSORT /M=D /F=@SORT.LST
  500.  
  501.         Sorts by description, operating only on the files given in SORT.LST.
  502.  
  503.  
  504. SETTING WWIVSORT DEFAULTS:
  505.  
  506.     It is possible to use an environment variable to set a default mode of
  507.     operation for WWIVSort.  This environment variable, WWIVSORT=, follows
  508.     precisely the same syntax as the normal command line options.  For in-
  509.     stance, if you would like WWIVSORT to default to sorting only SYSOP.DIR by
  510.     filename, not updating the sizes, and creating a report called FILES.TXT,
  511.     you would issue this command at your DOS prompt:
  512.  
  513.  
  514.  
  515.                      [ WWIVSort 1.22 User Manual - Page 7 ]
  516.  
  517.  
  518.  
  519.  
  520.  
  521.     SET WWIVSORT=/F=SYSOP/M=N/NOSIZE/R=FILES.TXT
  522.  
  523.     If the WWIVSort environment variable exists and WWIVSort is run without any
  524.     command line options, WWIVSort will use the contents of the environment
  525.     variable exactly as if they had been passed to the program as command line
  526.     options.
  527.  
  528.  
  529. APPENDIX A - WWIVSORT MESSAGES AND ERRORLEVEL CODES:
  530.  
  531.     Version 1.2 now returns ERRORLEVEL values to DOS for extended flexibility
  532.     during batch use.  Most of these conditions will also display a visual
  533.     error message, usually containing such data as the names of files which
  534.     could not be processed, etc.
  535.  
  536.     In the chart below, "Message:" indicates the message which will be displayed
  537.     by WWIVSort.  "<dirname>" means the name of a particular .DIR file.  For
  538.     instance, if the file in question is SYSOP.DIR, <dirname> will be SYSOP.DIR.
  539.     "<datapath>" is the name of your BBS DATA directory.  ErrorLevel is the
  540.     value which will be returned to DOS under each specific condition.  [If no
  541.     error condition exists, WWIVSort will return 0.]
  542.  
  543.     Message:
  544.        WWIVSORT: Nothing to do!!!
  545.     Meaning:
  546.        WWIVSort was passed a set of options which it cannot process.  For in-
  547.        stance, if /NOSORT and /NOSIZE are specified but /R= is not, WWIVSort
  548.        can't proceed because it is not sorting, not performing size updates,
  549.        and not writing a report.
  550.     ErrorLevel:  1
  551.  
  552.     Message:
  553.        ERROR: Unable to open report file for output!  Exiting...
  554.     Meaning:
  555.        The filename given after the /R= option is, for some reason, invalid.
  556.        This may be the result of an invalid path specification or invalid
  557.        characters within the name itself.
  558.     ErrorLevel:  2
  559.  
  560.     Message:
  561.         ERROR: /R= option used, but no output file specified!  Exiting...
  562.     Meaning:
  563.         Self-explanatory.  /R= was not followed by a filename under which
  564.         WWIVSort should write its report [file listing].  There is no default
  565.         filename; if none is specified, WWIVSort will be unable to proceed and
  566.         will abort.
  567.     ErrorLevel:  3
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.                      [ WWIVSort 1.22 User Manual - Page 8 ]
  576.  
  577.  
  578.  
  579.  
  580.  
  581.     Message:
  582.         ERROR: /F= option used, but no filename specified!  Exiting...
  583.     Meaning:
  584.         Also self-explanatory.  /F= was not followed by the name of an indi-
  585.         vidual .DIR file to be processed.
  586.     ErrorLevel:  4
  587.  
  588.     Message:
  589.         ERROR: /F=@ option used, but no list file specified!  Exiting...
  590.     Meaning:
  591.         Also self-explanatory.  Lacking a listfile name on which to operate,
  592.         WWIVSort will be unable to continue.  WWIVSort will abort under this
  593.         condition.
  594.     ErrorLevel:  5
  595.  
  596.     Message:
  597.         ERROR: Unable to open list file '<listname>'!  Exiting...
  598.     Meaning:
  599.         /F=@ was followed by the name of a non-existent file or one which WWIV-
  600.         Sort is unable to locate.  WWIVSort will not be able to process that
  601.         listfile and will abort.
  602.     ErrorLevel:  6
  603.  
  604.     Message:
  605.         ERROR: Unable to find and/or open CHAIN.TXT!  Exiting...
  606.     Meaning:
  607.         WWIVSort was not able to locate CHAIN.TXT, either in the current direc-
  608.         tory or along your DOS PATH.  Without CHAIN.TXT, WWIVSort will not be
  609.         able to locate the path to your BBS DATA directory, which it needs in
  610.         order to locate DIRS.DAT.
  611.     ErrorLevel:  7
  612.  
  613.     Message:
  614.         ERROR: Unable to find and/or open <datapath>\DIRS.DAT!  Exiting...
  615.     Meaning:
  616.         This error should be very rare, if it ever occurs at all.  It indicates
  617.         that CHAIN.TXT has been properly read but that WWIVSort still cannot
  618.         locate DIRS.DAT in your DATA directory.  This may be the result of
  619.         DIRS.DAT having been moved, renamed, or deleted.
  620.     ErrorLevel:  8
  621.  
  622.     Message:
  623.         ERROR: DIRS.DAT structure has been modified or is incompatible!
  624.         Unable to proceed.  Exiting...
  625.     Meaning:
  626.         WWIVSort has located DIRS.DAT and attempted to read it; however, there
  627.         is for some reason an incompatibility in the structure of DIRS.DAT.
  628.         DIRS.DAT must always be in unmodified stock form in order for WWIVSort
  629.         to be able to process it.  ["Gold" mods which add fields to DIRS.DAT
  630.         and/or to *.DIR are not supported by WWIVSort.]  If DIRS.DAT can't be
  631.         processed, WWIVSort will abort.
  632.     ErrorLevel:  9
  633.  
  634.  
  635.                      [ WWIVSort 1.22 User Manual - Page 9 ]
  636.  
  637.  
  638.  
  639.  
  640.  
  641.     Message:
  642.         ERROR: Unable to correctly read <datapath>\DIRS.DAT!  Exiting...
  643.     Meaning:
  644.         This error should also be extremely rare.  It indicates that DIRS.DAT
  645.         has been succesfully located and appears to be unmodified, but for some
  646.         reason WWIVSort -still- can't read it properly.
  647.     ErrorLevel:  9
  648.  
  649.     Message:
  650.         ERROR: Unable to find <dirname> in DIRS.DAT!
  651.     Meaning:
  652.         Before processing any given .DIR file, WWIVSort will scan DIRS.DAT to
  653.         see if it contains the name of the .DIR file; if <dirname> is not found
  654.         in DIRS.DAT, WWIVSort assumes <dirname> is not a valid part of the
  655.         board's transfer section, and <dirname> will not be processed.
  656.     ErrorLevel:
  657.      1] 10 if a single file [/F=] is being processed [WWIVSort exits under this
  658.         condition].
  659.      2] None if /F=@ is active.
  660.      3] DOES NOT APPLY if neither /F= or /F=@ are active.
  661.  
  662.     Message:
  663.         ERROR: Unable to open '<dirname>'!
  664.     Meaning:
  665.         WWIVSort is unable to locate and/or open a particular .DIR file.  This
  666.         may be the result of a .DIR file name existing in DIRS.DAT but not in
  667.         the BBS DATA directory itself.  This error may occur regardless of
  668.         whether a single file/listfile has been specified or not.
  669.     ErrorLevel:
  670.      1] 11 if a single file [/F=] is being processed [WWIVSort exits under this
  671.         condition].
  672.      2] None if neither /F= or /F=@ are active.
  673.  
  674.     Message:
  675.         <dirname>: Nothing to do!!!
  676.     Meaning:
  677.         WWIVSort is unable to perform any processing on <dirname>.  This will
  678.         occur when /NOSORT and /NOSIZE are active at the same time while using
  679.         a listfile and no report is being written.  It can only occur when /F=@
  680.         is active.  Be sure not to mix /NOSORT and /NOSIZE if you are not
  681.         writing a report with the /R= option.
  682.     ErrorLevel:  None.
  683.  
  684.     Message:
  685.         ERROR: Could not read <dirname>!
  686.     Meaning:
  687.         <dirname> may have been modified.  For whatever reason, WWIVSort is
  688.         unable to correctly read and process <dirname>.
  689.     ErrorLevel:
  690.      1] 12 if a single file [/F=] is being processed [WWIVSort exits under this
  691.         condition].
  692.      2] None if neither /F= or /F=@ are active.
  693.  
  694.  
  695.                     [ WWIVSort 1.22 User Manual - Page 10 ]
  696.  
  697.  
  698.  
  699.  
  700.  
  701.     Message:
  702.         ERROR: No files in database <dirname>!
  703.     Meaning:
  704.         <dirname> was located and opened, but does not contain any files in its
  705.         database.
  706.     ErrorLevel:
  707.      1] 13 if a single file [/F=] is being processed [WWIVSort exits under this
  708.         condition].
  709.      2] None if neither /F= or /F=@ are active.
  710.  
  711.     Message:
  712.         ^C encountered...  Aborting.
  713.     Meaning:
  714.         CTRL+C was pressed during WWIVSort's run; this aborts the program and
  715.         closes all open files being used by WWISort.
  716.     ErrorLevel:  14
  717.  
  718.     Message:
  719.         Unrecoverable error ## encountered.  Exiting...
  720.     Meaning:
  721.         WWIVSort has encountered an internal error relating to QuickBASIC
  722.         itself.  In this case, ## will indicate the internal code of the error.
  723.     ErrorLevel:  99
  724.  
  725.     Message:
  726.         Packing <dirname>...
  727.     Meaning:
  728.         WWIVSort has detected unused 'junk' records in a particular .DIR file
  729.         and is removing them to conserve space.
  730.     ErrorLevel:  None
  731.  
  732.     Message:
  733.         Reading <dirname>...
  734.     Meaning:
  735.         WWIVSort is in the process of loading a .DIR file's data into memory for
  736.         processing.
  737.     ErrorLevel:  None
  738.  
  739.     Messsage:
  740.         Scanning...
  741.     Meaning:
  742.         WWIVSort is performing an initial scan on a .DIR file's data to deter-
  743.         mine whether the data needs to be sorted under the given method.  This
  744.         may add a bit of overhead to the processing time, but can frequently
  745.         save time by preventing sorts which are not necessary.
  746.     ErrorLevel:  None
  747.  
  748.     Message:
  749.         Updating sizes...
  750.     Meaning:
  751.         WWIVSort is checking the sizes of available files and updating their
  752.         records in the current .DIR file.  This can be skipped by using /NOSORT.
  753.     ErrorLevel:  None
  754.  
  755.                     [ WWIVSort 1.22 User Manual - Page 11 ]
  756.  
  757.  
  758.  
  759.  
  760.  
  761.     Message:
  762.         Sorting <method>...
  763.     Meaning:
  764.         WWIVSort is performing a sort of the current .DIR file according to
  765.         <method>.
  766.     ErrorLevel:  None
  767.  
  768.     Message:
  769.         Sorted <method>...
  770.     Meaning:
  771.         WWIVSort has determined that the current .DIR file is already sorted
  772.         according to the chosen method; thus, the sort process has been skipped
  773.         for that .DIR.
  774.     ErrorLevel:  None
  775.  
  776.     Message:
  777.         Writing report...
  778.     Meaning:
  779.         WWIVSort is in the process of writing a text listing of all files in the
  780.         current .DIR.
  781.     ErrorLevel:  None
  782.  
  783.  
  784. APPENDIX B - CONTACTING THE AUTHOR:
  785.  
  786.     The author may be reached by e-mail at any of the following:
  787.  
  788.         USLink                  1@1
  789.         IceNET               1@8854
  790.         WWIVnet              1@3800
  791.         TerraNET             1@8854
  792.         WWIVLink            1@18867
  793.  
  794.     Or you may dial ModeMANIA BBS [Temple City, CA] directly at:
  795.  
  796.         818-451-0936    [Up to 14400 8N1]
  797.  
  798.  
  799. APPENDIX C - REVISION HISTORY:
  800.  
  801.     07/1996:  Version 1.22 released.  NOTE: This version was released mainly to
  802.               fix a corruption of the .EXE in certain copies of the WWSRT121.ZIP
  803.               archive.  Very minor patches to existing v1.21 code - multi-
  804.               instance file locking/unlocking should now be more reliable, and
  805.               file listings now show the descriptions instead of the uploaders'
  806.               names.  Version 2.00 is expected to be a near-total rewrite and
  807.               will probably use a GUI screen instead of the plain-text display.
  808.               It will use WWIV.INI registration codes and option settings.
  809.               There is no projected release date for v2.00 at this time.
  810.  
  811.  
  812.  
  813.  
  814.  
  815.                     [ WWIVSort 1.22 User Manual - Page 12 ]
  816.  
  817.  
  818.  
  819.  
  820.  
  821.     12/1994:  Version 1.21 released.  Completely new sort routine results in a
  822.               significant speed increase.  New file-open routine which should
  823.               make WWIVSort compatible with multi-instance operation.  Minor
  824.               adjustments to report generation routine.  Elapsed time shown.
  825.  
  826.     04/1994:  Version 1.2 completed and released.  WWIVSort now returns an
  827.               ERRORLEVEL to DOS on exit.  Added ^C checking to abort program at
  828.               various points.  Report feature now includes counts of total bytes
  829.               used, both for individual directories and all listed directories
  830.               in total.  Added /O switch to replace offline files' sizes with
  831.               ----- when writing reports.  Added /C switch to include sizes of
  832.               offline files in byte counts.  Minor tweaks for speed and to
  833.               conserve internal string space.  Added search of DOS PATH when
  834.               trying to locate CHAIN.TXT.  Added code to check and correct
  835.               'Daten' fields in .DIR files.  Thanks again to JAFO, The Bishop,
  836.               and Thunderbolt for their comments, suggestions, and support.
  837.  
  838.     06/1993:  Version 1.1 completed and released.  Bug fix to correct unwanted
  839.               use of junk records in .DIR files, which could lead to corrupted
  840.               data.  Program now automatically packs .DIR files when necessary.
  841.               Added features for the use of optional switches in list files.
  842.               Progress display now shows method when sorting.  Minor enhance-
  843.               ments to speed and structure.  Minor corrections to documentation.
  844.               Added data pre-scan prior to sort to determine if a sort is
  845.               necessary.  Thanks to JAFO for his suggestion to include sort
  846.               method options within list files.
  847.  
  848.     06/1993:  Version 1.0 completed and released.
  849.  
  850.  
  851. APPENDIX D - TRADEMARKS / ADDITIONAL:
  852.  
  853.     Software vendors may distribute this program provided it is kept in its
  854.     complete and unmodified original form, including all accompanying
  855.     documentation, and provided that persons receiving the program are made
  856.     aware that any fees charged for receipt of the program by any agent
  857.     other than the author DO NOT constitute purchase or registration of the
  858.     program.  These restrictions also apply to bulletin board operators and
  859.     to users of the program.  Commercial vendors are requested to contact
  860.     the author at the address above prior to distributing this program in
  861.     any medium.  Vendors may request fees for the medium carrying the
  862.     program and/or for shipping and handling of the medium, NOT for the
  863.     program itself.  All applicable domestic and international rights
  864.     remain the exclusive property of the author.
  865.  
  866.     CMI [California Microdata International] is an unregistered trade name of
  867.     the author and is not affiliated with, or a representative of, any other
  868.     group or organization bearing the initials CMI.
  869.  
  870.     WWIV is a trademark of Wayne Bell / WWIV Software Services.
  871.  
  872.     QBasic, QuickBASIC, and PDS [Professional Development System] are trademarks
  873.     of Microsoft Inc.
  874.  
  875.                     [ WWIVSort 1.22 User Manual - Page 13 ]
  876.