History/Changes - Alternate Tree - pdTree v1.02 Written by Kenneth J. Davis Public Domain Tree Future Plans: When time permits. KJD I would like to get it to compile using other compilers, such as DJGPP, Dunfield's Micro C, and Borland's TC++ v1.01 Update cats library (use cats v4 aka kitten for DOS and cats v3.97 for Windows) Update DOS version to detect screen size and if output redirected or not. May 22, 2004 pdTree V1.02 Release KJD Add Latvian translation from Kristaps Kaupe Adjust to continue on certain errors accessing subdirectories (match v1.00 behaviour I believe). Add initial /P option, pause after screenful (80x25). Update Win32 version to also support /S option Feb 11, 2001 pdTree V1.01 Release KJD Source includes fixstub that can be used to fix DOS executable automatically so can be used as stub for win32 executable (limited testing). Jan 21, 2001 pdTree V1.01 Beta Release KJD Ensured compiles with Borland's v5 win32 C++ compiler that is freely (if you tell them about yourself) available. Retested with various versions of DOS and Windows. Tree.exe is dual Win32 and DOS executable, with both parts compressed with UPX. Jan 18, 2001 pdTree V1.01 Alpha Release KJD Implemented proper fix for potential stack overwrites on really deep (> 30) directory structures in DOS version. Now uses non-recursive function to display directory tree, placing necessary information onto the heap via a 'stack' object. Depth is still limited to available memory, but maintained goal of minimal hard coded limits (if there is enough memory should be able to handle any number of files or subdirectories in a given directory and able to handle any depth directory tree up to MAX PATH length). November, 2000 Fixed relocation table of the dual Win32/DOS binary. Oct 26, 2000 pdTree V1.00 Initial Release Kenneth J. Davis Initial Release version of my public domain tree. Initially called Tree (and labeled version 4) in hopes it would become the official FreeDOS tree (at version 3), but I have since given up on that and officially released it as pdTree. Includes the method specified by Borland to insure the stack on the DOS version is 40KB instead of the default 4KB value. History.txt is now separate as it is for the FreeDOS tree (and this is no longer attempting to be part of that chain). Updated tree.htm to conform to HTML Help 4.1 help files (added
). Using unmodified Jim Hall's cats v3.8 now. DOS version packed using APACK v0.99b http://apack.cjb.net/ - jibz@hotmail.com - Joergen Ibsen Copyright (c) 1997-2000 by - Jibz - All Rights Reserved Greetings. [Apack is free for noncommerical use - with greeting.] Note: apack produces slightly smaller DOS exes than UPX, but UPX will make a win32 only binary about 20k. October, 2000 Tree V4.00 Gold Revision G KJD Internal version. Not released. Sept 11, 2000 Tree V4.00 Gold Revision F Release KJD Recompiled DOS version using small model. Found a minor bug in the large model compile. Will be fixed in next release (as soon as I figure out the cause). DOS version now packed using APACK v0.98b http://apack.cjb.net/ - jibz@hotmail.com - Joergen Ibsen Copyright (c) 1997-99 by - Jibz - All Rights Reserved Greetings. [ Apack is free for noncommerical use - requires greeting. ] Sept 7, 2000 Tree V4.00 Gold Revision E Release KJD Updated w32fdos.cpp to use far pointers, allowing it to used in large and compact memory models. Changed traverseTree to reuse buffers instead of adding them to the stack with each recursive call. Sept 2, 2000 Tree V4.00 Gold Revision D Release KJD Modified tree source to use latest cats (v3.71), it includes most of the changes I made to v3.6 for prior releases of tree v4. Changed history.txt to changes.txt. Added history.txt to reflect FreeDOS versions of tree including ones prior to v4 tree. Added batch files to aid in compiling. Aug 26, 2000 Tree V4.00 Gold Revision C Updated KJD Added Aitor Santamaria Merino's corrected spanish translation (tree.es) and changed MAXLINE to support lines twice as long. [version change deemed unneccesary due to lack of availability of prior release] Aug 25, 2000 Tree V4.00 Gold Revision C Release KJD Added check in DOS get volume information for FreeDOS returning 0x02=File Not Found, instead of 0x12=No More Files when disk has no label. Aug 24, 2000 Tree v4.00 Gold Revision B Release KJD Changed argument processing to allow the switch character and options to be read in from message catalog. This is to allow easy changing of switch character and language specific option character(s). Aitor Santamaria Merino is helping me to fix my spanish translation. Added tree.htm for Joe Cosentino's HTML Help (using existing tree.htm from HTML4.ZIP as basis). Aug 22, 2000 Tree v4.00 Gold Revision A Release KJD Added fix so LFN failure detection works properly under FreeDOS (beta 5 mini boot disk). Now tree also works under FreeDOS (without using /S switch - force shortnames only). Also added initial spanish translation. Aug 18, 2000 Tree v4.00 Gold Release KJD This version contains fully functional tree (win32 and DOS), with support for Long FileNames, [DOS limited] network shares using Universal Naming Convention (\\server\share), near identical output to NT tree, and support for messages catalog (language specific output). Tested under WinNT 2000SP1, WinNT 4SP6a, Win98SE, PC DOS 2000, and Caldera OpenDOS 7.01 [ Includes minor fixes, such as now using official DOS 4+ documented interface to get disk serial #. ] Aug 15, 2000 Tree V4.00 Beta4 Release KJD Added Long FileName support. Aug 14, 2000 Tree V4.00 Beta3c (Beta3b updated) KJD Minor code clean up and fixes for failing on network drives (in form \\server\share). Aug 14, 2000 Tree V4.00 Beta3b (Beta3 updated) KJD Added a fix to GetVolumeInformation(...) so under NT5 properly detects failure. NT5 does not change the carry flag on int 21h 0x6900, so the only test for failure is if it made no changes. Aug 13, 2000 Tree V4.00 Beta3 Release KJD Rewrote w32fdos to directly call DOS's findfirst/findnext. This is a much better DOS implementation. Aug 13, 2000 Tree V4.00 Beta2 (updated) KJD Added support for serial# using DOS 4+ internal int 21 0x6900 call. Aug 11, 2000 Tree V4.00 Beta2 Release KJD Added DOS support using Borland's findfirst, findnext. Supports volume label but not serial #. Not a good implementation, but appears to work. Aug 10, 2000 Tree V4.00 Beta Release KJD Tested cases produce identical results to WinNT's tree. Except return code, which instead of always 0, uses PC DOS 2000's return codes. Still Win32 only. Aug 9, 2000 Alpha version (Win32 only) of alternate tree. Adding LFN support and message support, so opting to rewrite instead of retro fitting FreeDOS tree v3.5 with LFN findfirst/findnext/findclose and message catalog support. Feb 2000 KJD For a short time official maintainer of tree. Wanted to add LFN support to tree (current then was v3.2 - port to Borland's compilers from v3.1). But alas, my time was consumed with my last class for my MS in CS. [ And yes I'm still working on that, but its near complete so I took a break to work on this. ]