home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / flistfrontend / src / version.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-27  |  16.0 KB  |  436 lines

  1. #ifndef NO_IDENT
  2. static char *Id = "$Id: version.c,v 1.8 1995/10/27 13:29:02 tom Exp $";
  3. #endif
  4.  
  5. /*
  6.  * Title:    version.c - Directory-Editor Release history
  7.  * Author:    Thomas E. Dickey
  8.  * Created:    28 Aug 1984
  9.  * Last update:            In-progress: restructure 'dircmd', 'getraw'.
  10.  *
  11.  *    v951027 - prerelease testing
  12.  *
  13.  *    ----    27 Oct 1995    Added "create" command.  Modified BROWSE to
  14.  *                allow it to read locked files by using shared
  15.  *                I/O.
  16.  *
  17.  *    v951026 - prerelease testing
  18.  *
  19.  *    ----    25 Oct 1995    Corrected checks for deleted files in
  20.  *                'dirfind()'.  Corrected parenthesis in
  21.  *                'isowner()' that prevented privileged users
  22.  *                from setting file-protection.  Animated the
  23.  *                "Working..." message.   
  24.  *
  25.  *     ----    24 Oct 1995    added "USER" column and corresponding sort
  26.  *                commands.
  27.  *
  28.  *     ----    22 Oct 1995    corrected bug in ^P (set protection) command
  29.  *                due to difference between DEC-C/VAX-C ctype.h
  30.  *
  31.  *                modified "/dlong" to show seconds if command is
  32.  *                repeated.
  33.  *
  34.  *                corrected (pruned) redundant pathname text that
  35.  *                arises from rooted-logical expansions.
  36.  *
  37.  *     ----    21 Oct 1995    final phase of mods for prototyping functions,
  38.  *                clean-compile with DEC-C.
  39.  *
  40.  *    ----    06 Jun 1995    more prototypes (almost done)
  41.  *
  42.  *    ----    28 May 1995    use <stdarg.h> rather than VARARGS hack
  43.  *
  44.  *    v950319 ported to AXP in VAX-C compatibility mode
  45.  *
  46.  *    ----    19 Feb 1995    Using AXP demo machine with DEC-C, first phase
  47.  *                of mods to prototype all functions.
  48.  *
  49.  *    ---- stopped keeping track of absolute build numbers, converted to rcs
  50.  *
  51.  *    x2149    22 Apr 1993    Rebuilt at Software Productivity Consortium
  52.  *
  53.  *     ----    05 Dec 1989    vms 5.1 altered "prvdef.h" file so that
  54.  *                PRV$V_???  is no longer defined.  altered
  55.  *                sysrights.c and callers isowner.c, cmpprot.c to
  56.  *                recompile.
  57.  *
  58.  *                patched out trace in DCLARG for bug found in
  59.  *                89/03/20 (haven't seen it under vms 5.1, also
  60.  *                conflicts with rebuild).
  61.  *
  62.  *                corrected typo in 'dirent.c' (wrong
  63.  *                variable-type, which previous compilers
  64.  *                accepted & dealt with properly).
  65.  *
  66.  *    ----    20 Mar 1989    found intermittent problem with RMS where an
  67.  *                illegal status code is returned -- manifested
  68.  *                in a 0x10000 code returned from SYS$PARSE call
  69.  *                in DCLARG.
  70.  *
  71.  *    ----    06 Mar 1989    increased BROWSE's limit on the size of the
  72.  *                fseek-vector which it maintains; also increased
  73.  *                FLIST's limit on log-file width to 132 from 80.
  74.  *
  75.  *    ----    24 Feb 1989    added procedure 'flist_chdir()' to encapsulate
  76.  *                (and log) changes of working directory.
  77.  *
  78.  *                modified 'getraw()' so that command-file input
  79.  *                is discarded except for lines beginning with
  80.  *                '$' (leading blanks optional).  This lets me
  81.  *                use the /LOG output directly as a command-file.
  82.  *
  83.  *                modified 'browse.c' so that the version which
  84.  *                is linked into FLIST will log output in a form
  85.  *                that can be replayed in FLIST's command-file.
  86.  *
  87.  *    ----    16 Feb 1989    added ".DIF$*", ".SHO" and ".TJL" to list of
  88.  *                file-types which are not prompted on deletion
  89.  *                (fldlet.c).
  90.  *
  91.  *    ----    09 Feb 1989    mod for vms5.0; may set delete-enable on files
  92.  *                to rename them, restore original protection
  93.  *                after renaming.
  94.  *
  95.  *    ----    02 Feb 1989    port to vms5.0; minor fix to flsort; also there
  96.  *                use 'qsort()' instead of the previous
  97.  *                selection-sort.
  98.  *
  99.  *    ----    17 Nov 1988    FLIST on SYS$SYSROOT suddenly changes to
  100.  *                SYS$COMMON, and the list is not sorted
  101.  *                properly.
  102.  *
  103.  *    ----    04 Nov 1988    added expiration-date stuff to FLIST (a la
  104.  *                REVISED).  Also, corrected places where
  105.  *                member/group codes were masked to a single
  106.  *                byte.
  107.  *
  108.  *    ----    03 Nov 1988    the output from my tar program is not readable
  109.  *                by BROWSE, though other STMLF files are.
  110.  *
  111.  *    ----    14 Oct 1988    sometimes FLIST's command history gets
  112.  *                garbaged.
  113.  *
  114.  *                sometimes after an UPDATE command in FLIST,
  115.  *                PURGE thinks it has found a file which was
  116.  *                protected, even though it is successfully
  117.  *                removed.
  118.  *
  119.  *                FLIST does not recognize rooted device names,
  120.  *                e.g., a delete applied to BOOCH_:[ADT]X.LIS
  121.  *                becomes BOOCH_:[000000.ADT]X.LIS, which it does
  122.  *                not like.
  123.  *
  124.  *    ----    11 Oct 1988    corrected place in 'dirarg.c' where "/o" alone
  125.  *                caused crash.  added ".DIA" to temp-file types
  126.  *                in 'fldlet.c'
  127.  *
  128.  *    ----    05 Oct 1988    the uid+gid display for pyster+dickey is
  129.  *                wrong...should convert to names
  130.  *
  131.  *    ----    03 Oct 1988    should update using DEC's current acpdef.h files
  132.  *
  133.  *    ----    16 Sep 1988    corrected "purge" command, which crashed if too
  134.  *                many versions were protected, since the
  135.  *                message-buffer overflow check was wrong.
  136.  *
  137.  *    ----    22 Aug 1988    added test in BROWSE to ensure that we have a
  138.  *                filename!
  139.  *
  140.  *    ----    17 Aug 1988    modified 'termsize.c' and 'getraw.c' so they
  141.  *                use SYS$COMMAND rather than SYS$INPUT so that
  142.  *                VTSIZE works in a LOGIN.COM (works either way
  143.  *                with FLIST and BROWSE).
  144.  *
  145.  *    ----    16 Aug 1988    corrected 'dirent_conv()', guarding better
  146.  *                against buffer overflow on very long lines
  147.  *                (i.e., > CRT_COLS).
  148.  *
  149.  *                relinked both flist, browse; increased size by
  150.  *                about 16 blocks (may be because of VMS 4.7
  151.  *                upgrade).
  152.  *
  153.  *    ----    15 Aug 1988    observed bugs when helping sam gregory
  154.  *                straighten out file protections for [.oldcamp]
  155.  *                (they weren't readable):
  156.  *                (a) had a very long display line, which would
  157.  *                    have been longer than 132 characters before
  158.  *                    truncation.  this caused a segment
  159.  *                    violation.
  160.  *                (b) at one point I lost the oldest part of the
  161.  *                    command history.
  162.  *
  163.  *    ----    11 Jul 1988    Permit '-' in filenames.
  164.  *
  165.  *    ----    01 Jul 1988    Added command-table entry for LSEDIT (a la
  166.  *                EDIT).  Note that FLIST will accept
  167.  *                LSEDIT/EDIT/VIEW now to view a list (should
  168.  *                plug it).
  169.  *
  170.  *    ----    29 Jun 1988    Stripped parity bit in output-lines so that
  171.  *                boldface/highlighting work properly on
  172.  *                vt200-class terminals.
  173.  *
  174.  *    ----    16 Jun 1988    Tried CC's /INCLUDE option so I could move the
  175.  *                ".h" files into a common directory; this did
  176.  *                not work: it told me that I exceeded my
  177.  *                enqueue-quota.
  178.  *
  179.  *                Relinked sortx; note that link/nodebug does not
  180.  *                appear to do anything.
  181.  *
  182.  *    ----    15 Jun 1988    Recompiled objects (userc.olb, fl.obj,
  183.  *                browse.obj) and relinked.  To do this, copied
  184.  *                some include-files from home into [.c] and
  185.  *                [.d], since the VMS C-compiler's search rules
  186.  *                have changed since I used it last (should fix
  187.  *                REDO.COM).  Will test against the new
  188.  *                executables.
  189.  *
  190.  *    ----    13 Jun 1988    Moved to Software Productivity Consortium. 
  191.  *                Most items work as-is, but FLIST and BROWSE
  192.  *                executables sometimes crash.  For example, the
  193.  *                "find" command in FLIST.
  194.  *
  195.  *    x2062    08 Oct 1985    Added code in CRT-module to detect change of
  196.  *                terminal-size (especially after spawned commands).
  197.  *                Used this to support /WIDTH command which lets
  198.  *                one toggle 80/132 column mode.  Added arguments
  199.  *                to HELP-command (from PROTECT, we go directly
  200.  *                to the PROTECTION help-entry).
  201.  *
  202.  *    x2051    24 Sep 1985    Decode SET, SHOW as '/', '?' command-prefixes.
  203.  *                Added VMS-style aliases /PROTECTION and ?DAYTIME
  204.  *                to exploit this.  Added code in command-parser
  205.  *                to generate message listing range of close-match
  206.  *                keywords if no match was found.
  207.  *
  208.  *    x1998    14 Sep 1985    Amended READ command so that explicit update
  209.  *                is done via UPDATE command.  If user types
  210.  *                READ, existing database entries are not reopened.
  211.  *
  212.  *                Corrected collating order: VMS apparently sorts
  213.  *                filenames counting trailing '.'
  214.  *
  215.  *                Enhanced wildcard comparison to recognize "..."
  216.  *                in pathnames (fixes merge-problem with readlist).
  217.  *
  218.  *    x1957    26 Aug 1985    Amended /CWIDTH code so that we recompute on
  219.  *                exit from a directory, and so that most operations
  220.  *                which alter 'ccolumns' can result in a screen
  221.  *                refresh (except indirect RENAME-path).
  222.  *
  223.  *                /CWIDTH without arguments recomputes 'ccolumns'
  224.  *
  225.  *                Link the release-copy /NOTRACEBACK since this is
  226.  *                necessary to install-with-privilege (needed in
  227.  *                turn for the SHELL command).
  228.  *
  229.  *    x1946    17 Aug 1985    Corrected (compiler hole) bug in '?FIND', made
  230.  *                it stacked/hierarchical.
  231.  *
  232.  *                Make '.LOG' file receive everything that '.LIS'
  233.  *                file does (i.e., results of '?READ').
  234.  *
  235.  *                Some enhancements to BROWSE program.
  236.  *
  237.  *    x1924    31 Jul 1985    Completed recoding to "structured heap" for all
  238.  *                data objects.
  239.  *
  240.  *                Permit EDIT-directory command to accept options
  241.  *                (except /COMMAND, /LOG and /FAST).
  242.  *
  243.  *                Permit wildcard-RENAME operation.
  244.  *
  245.  *                Added code to pack display when exiting from a
  246.  *                level.
  247.  *
  248.  *                Added keyword 'UPDATE' for next-release work.
  249.  *                Added '?READ' command.
  250.  *
  251.  *    x1835    06 Jul 1985    Corrected multi-quit screen refresh in 'dircmd'.
  252.  *                Added "true" type-ahead test in 'getraw'.
  253.  *
  254.  *                Added "SHELL" and "?FIND" commands.  Altered
  255.  *                /HOLD-operation so that we skip some before
  256.  *                prompt if there is an error.  Reset keypad
  257.  *                mode before calling librarian-help-facility.
  258.  *
  259.  *                Added /BEFORE, /SINCE options to do date-select.
  260.  *                Also options /AFTER, /BACKUP, /CREATED and
  261.  *                /MODIFIED as synonyms (to make it look more like
  262.  *                VMS).
  263.  *
  264.  *                Upgrade to CC2.0; minor (but frustrating) fixes.
  265.  *
  266.  *                Revised 'nameheap' so that we use a single
  267.  *                tagged heap (provides unique strings among levels)
  268.  *                Used this also to support 'pathlist' (i.e., a
  269.  *                directory-RENAME affects all levels).
  270.  *
  271.  *    x1667    24 May 1985    Added '/' command, '/CWIDTH' command.  Do log
  272.  *                entry for set/show commands which operate on
  273.  *                the current entry.
  274.  *
  275.  *    x1645    18 May 1985    Restructured 'dircmd' module so that all key
  276.  *                definitions are via a string-table.  Also, the
  277.  *                vcmd-tables are both in the same format.  We
  278.  *                still use separate decoding for display (/,?)
  279.  *                and file (DCL) commands.  The string-table makes
  280.  *                log-files all in a readable format.
  281.  *
  282.  *                Corrected help-interface for VMS 4.x, which
  283.  *                returns a different pathname for system files
  284.  *                in GETJPI (see: whoami).
  285.  *
  286.  *                /FORWARD and /BACKWARD now accept a line-count
  287.  *                argument.  Use this in keypad to set direction
  288.  *                flag (0 lines).  Added '/PAGE' command to handle
  289.  *                scroll-in-current-direction.
  290.  *
  291.  *    x1537    27 Apr 1985    Changed VAX/750-sid for re-issue.  'edtcmd'
  292.  *                module is broken out, provides command-history
  293.  *                and editing for BROWSE.  Put spurious sid-test
  294.  *                in 'dclarg'.
  295.  *
  296.  *    x1517    20 Apr 1985    Added VAX/785-sid for re-issue.  In-progress
  297.  *                for 'edtcmd' module; not included.
  298.  *
  299.  *                Added '/LOG' option to FLIST (not complete)
  300.  *
  301.  *    x1480    11 Apr 1985    Fixed 'pathup' by making it translate logical
  302.  *                devices (fixed sys-manager bug).
  303.  *
  304.  *                Added /COMMAND options to both FLIST and BROWSE.
  305.  *                'getraw' permits nested command-files.
  306.  *
  307.  *                Redid BROWSE's "X" as a CTRL/X AST.
  308.  *
  309.  *                Added '?MEMORY' command, put it on ',' keypad.
  310.  *
  311.  *    x1439    26 Mar 1985    Released second-version (with ATC's 730 in the
  312.  *                SID-list).
  313.  *
  314.  *                Added column-types IDENTIFIER, LENGTH, with
  315.  *                their associated sort-commands.
  316.  *
  317.  *                Provided interface to VMS-help (librarian
  318.  *                routine).  Make /DS, /DL commands a 3-state
  319.  *                switch.
  320.  *
  321.  *    x1421    14 Mar 1985    Renamed this program to FLIST; released first
  322.  *                version for local use on ATC/Shelton VMS systems.
  323.  *
  324.  *                Added CTRL/C-ast to do cleanup.  Also require
  325.  *                screen-height to be at least 4 lines.
  326.  *
  327.  *    x1412    11 Mar 1985    Added code to 'flrnam', 'dirpath' to properly
  328.  *                rename pathnames when a directory is renamed.
  329.  *
  330.  *                Permit (wildcard) file specification in PROTECT.
  331.  *                Added 'dirent_isdir' (common).  The 'dirfind'
  332.  *                search 'forward' argument, if negative, uses the
  333.  *                prevailing direction-flag: used in DELETE, PURGE
  334.  *                and PROTECT.
  335.  *
  336.  *                Init flcols from main only (to make it inherit
  337.  *                properly).  Restrict 'dirent_col' to keep at
  338.  *                least 10 columns in command-field.
  339.  *
  340.  *    x1360    02 Mar 1985    Revised O (/OVER) command of BROWSE to do
  341.  *                2-state toggle, or accept argument.  Also,
  342.  *                corrected overstrike/highlighting
  343.  *                (space by '_').
  344.  *
  345.  *                Added code to 'getraw' which tests the system
  346.  *                identification register against known values,
  347.  *                and garbages the input stream if a mismatch
  348.  *                occurs.
  349.  *
  350.  *                Added "magic" (undocumented) function to copy
  351.  *                date from one file to another: If /MARK is set,
  352.  *                then a repeated ^D on another file will cause
  353.  *                FLIST to copy date,protection from the marked
  354.  *                file.
  355.  *
  356.  *                Added fatal-error message to 'BROWSE' ('erstat'),
  357.  *                and truncate filename via 'more_name'.  Modified
  358.  *                /JOIN-option in BROWSE to both omit binary files
  359.  *                (by record-size) and to do joining if no trailing
  360.  *                linefeed was found.
  361.  *
  362.  *    x1327    07 Feb 1985    Corrected INSPECT function (wasn't checking for
  363.  *                at least one legal record; assumed I could always
  364.  *                read a record).  Also, split 'dirseek_spec' into
  365.  *                two levels so that I can support implicit
  366.  *                wildpaths in INSPECT and VERIFY (was an error
  367.  *                since 'dirfind' did not overlap properly with
  368.  *                the VMS-search).  Make a 30-page stack in link,
  369.  *                this seems to get rid of a runtime fault (?).
  370.  *                (This seems a large stack; I tested it down to
  371.  *                an 8-level directory.  With a 20-page stack I
  372.  *                get a protection violation about 4-5 levels down.)
  373.  *    x1298    02 Feb 1985    Corrected use of alarms in BROWSE.  Fixed ACPLOOK
  374.  *                for (special?) case of 0-size of indexed files.
  375.  *                Added 'crt_qsgr' entry to fix calls by SNAPSHOT.
  376.  *                Reduce sys-search from 'dclarg'.  Revised the
  377.  *                handling of 'readlist' (better pruning) in
  378.  *                'dirread' module.  Added scrolling margin code
  379.  *                to 'crt' module (making VT100 faster).  Do
  380.  *                better cleanup/reset of terminal on exit and
  381.  *                spawning.
  382.  *    x1240    20 Jan 1985    Extensions to BROWSE (I,J, /TRIM) and rationalized
  383.  *                its use of scale-mode and repeat-factor.
  384.  *                Added crt-reset code to reset scrolling margins,
  385.  *                and smooth-scroll on entries/re-entries.
  386.  *    x1230    08 Jan 1985    Renamed BACKUP and REVISED qualifiers to
  387.  *                DBACKUP and DREVISED.  Separate /NOO and /NOP
  388.  *                tests in column-setup and sorting.
  389.  *                Renamed 'FINDNXT' to 'NEXT', removed unneeded
  390.  *                parsing from 'dirfind' module (faster).
  391.  *    x1216    30 Dec 1984    Added "/SBACKUP", "/SCREATED", "/SREVISED" and
  392.  *                "/SWEEK".  Added relative-number scrolling.
  393.  *                Added "/MARK", "/NOMARK" (keypad-select), and
  394.  *                highlight selected name, to show state.  Made
  395.  *                this re-entrant in 'fledit'.
  396.  *                Corrected error returns in 'chprot', 'setprot'
  397.  *                and 'flprot'.  Added "/CLEFT", "/CRIGHT" and
  398.  *                "NFIND".  Added "/DLONG", "/DSHORT".
  399.  *    x1133    21 Dec 1984    Fixed bug in /SHOUR caused by flakey system
  400.  *                code; permit system user to change protection.
  401.  *                Re-coded 'cmdstk' so it uses a single-page
  402.  *                buffer (instead of a linked list) to cut
  403.  *                paging.  Reduced (by recoding 'dirent_chop'
  404.  *                and new interface) the number of times I use
  405.  *                SYS$PARSE; also use the same FAB for SYS$SEARCH
  406.  *                and SYS$OPEN (reduces both CPU time, as well
  407.  *                as paging across DECNET).  Provide ^D,^E,^F
  408.  *                in command-line edit (a la VMS4.0).
  409.  *    x1063    12 Dec 1984    Use ACP to speed up directory-read.  Added
  410.  *                "?QUOTA", "/SFORMAT", and "/SATTRIBUTE".
  411.  *                Added 'nameheap', to manage longer names for
  412.  *                VMS 4.0, added PATH column-type ("/columns").
  413.  *    x1012    03 Dec 1984    Added 'X' command to BROWSE (abort skip/search).
  414.  *                Use 'putraw' to bypass Unix I/O bug.
  415.  *                Added FORMAT, ATTRIBUTE column types, added
  416.  *                INSPECT command.  Use ACP for change-protect
  417.  *                ('setprot', 'chprot' routines).
  418.  *    x971    06 Nov 1984,    Improved crt-driver, improved BROWSE.
  419.  *    x965    24 Oct 1984,    Cleanup of BROWSE, added 'sysfom' timer, broke
  420.  *                out 'cmdstk'.
  421.  *    x941    17 Oct 1984,    RMS-BROWSE, snapshot (^K), put locked-files at
  422.  *                top of date-sort, put ^K, ^W into 'dircmd_GET'.
  423.  *    x929    28 Sep 1984,    cleanup of RMS I/O (no more Unix file I/O,
  424.  *                except via 'printf').
  425.  *    x883    04 Sep 1984,    "/columns", multi-level quit, use "import" to
  426.  *                reduce map-size.
  427.  *    x854    29 Aug 1984,    "?"-prefix commands, cleanup of buffer sizes,
  428.  *                use VAX string stuff.
  429.  */
  430.  
  431. char
  432. *dired_release()
  433. {
  434.     return ("FLIST (v951027)");
  435. }
  436.