Short: Directory utility Author: Boris Jakubaschk, Andreas Schwarz Uploader: Andreas Schwarz Type: util/dir Version: 2.3 Architecture: ppc-morphos MTool is a directory utility like Diskmaster or Directory Opus. The original author (Boris Jakubaschk) stops the development in 1997 and put the program and the source to the public domain (Thank you, Boris!). Changes from 2.2 to 2.3: /**************************************************************************/ /* 2.3 (2006-09-20) - Andreas Schwarz */ /* - created a Makefile for compiling with gcc */ /* - source cleanup for compiling with gcc */ /* - created a MToolProto.h for function prototypes */ /* - renamed ReadSring() to NextString() */ /* - removed wbmain() which is a dice artefact */ /* - rewrote ReadNode() which is broken because the size of the */ /* struct PrefsNode depends on the compiler, but it's used */ /* to format the MTool config file (bad) */ /* - new function PeekLong4() for getting long from Ana_Prefs */ /* - renamed function move() to mousemove() */ /* - renamed function ticks() to intuiticks() */ /* - reformatted source with indent */ /* - removed ~0 assignments */ /* - created Debug.c for debugging purposes */ /* - changed type of DL_Nodes to struct PrefsNode*, this is needed */ /* because some functions (ShowDevs(), gadget()) using the same */ /* pointer for walking through the Node and PrefsNode nodes. */ /* Unfortunately the structures are not compatible (depends on */ /* the compiler). After typechange all nodes are PrefsNodes. */ /* - replaced static offset (16) for struct MB_ENTRY with */ /* sizeof(struct MB_ENTRY). */ /* - removed signed/unsigned bug in intuiticks() (Entry was LONG) */ /* - renamed var Act to ActLv (Active ListView) */ /* - renamed function OpenCopyWindow2() to OpenActionWindowSmall() */ /* - renamed function OpenCopyWindow() to OpenActionWindow() */ /* - changed AskCopyWindows() argument "What" to signed, because */ /* gcc default type of char is unsigned. */ /* - added defines DA_COPY, DA_MOVE, DA_DELETE, DA_INFO which */ /* makes DirAction() more readable. */ /* - added rule to avoid "Confirm existing files" in cycle gadget */ /* when delete requester is active. */ /* - added missing UnLock() in VCheck (Version Check) part of */ /* AskCopyWindow(). Before, dirs are left in "Object in Use" */ /* state (when Version Check is active). */ /* - added missing UnLock() in ShowInfo() */ /* - changed "Continue" to "Skip" in OpenActionWindow() requester, */ /* this is more logical. Changed also the Catalog source files. */ /* - changed MEMF_CHIP allocations to MEMF_ANY. */ /* - new helper function strLinkArea() in Dirs.c, this function */ /* links 0 terminated substrings in area together. */ /* - new helper function strSetProtFlags() in Dirs.c, this function */ /* writes the protection flags to str pointer. */ /* - new helper function strSetDateTime() in Dirs.c, this function */ /* writes date and time information to str pointer. */ /* - new helper function strCreateLvEnrty() in Dirs.c, this function */ /* writes a complete listview entry to str pointer. */ /* - reworked the ShowDir() function to use the new helper functions */ /* above. */ /* - reworked the ShowDirLine() function to use the new helper */ /* functions above. */ /* - changed the layout of the dir listview, 1 space between size */ /* and protection flags (old value 2) and space for size is now */ /* 10 characters (old value 8). */ /* - renamed MultiTool to MTool */ /* - changed the about requester (removed version number which was */ /* encoded in the picture, renamed MultiTool to MTool, added */ /* developers). */ /* - freed the config buffer after config parsing, renamed Ana_Prefs */ /* to iPrefsBuf and Ana_Len to iPrefsLen. */ /* - changed type of MB_Alloc() from ULONG to void* */ /* - renamed SetupLists() to SetupPrefsLists(). */ /* - new function MB_strdup() to avoid memory leaking. */ /* - freed all PrefsNodes and prefs related allocations (ID 0x100) */ /* when reloading config. */ /* - renamed Copy() to CopyFile(). */ /* - when copy files/dirs (or move them to a different device), */ /* protection, datestamp and comments are preserved. */ /* - increased file copy buffer to 128 KiB. */ /* - new header file MTool_rev.h which is autogenerated by revbump, */ /* contains the version, builddate and verstag. */ /* - changed type of VL_StatFree[] to UQUAD and output format type */ /* of all depending entries in local files to %llu. This solves */ /* the problem with wrong disk space information for devices */ /* which are bigger than 4 GiB (field below the dir listviews). */ /* - reworked the Device Information Reqester, all Byte and Block */ /* values are now 64 bit (UQUAD). Changed the outout format of */ /* all depending locale entries to %llu. */ /* */ /* todo: */ /* - wrong directory space information in listview */ /* - wrong space information for selected files (below dir listview) */ /* - search for MToolPrefs also in PROGDIR: */ /* - search for MTool Catalogs in PROGDIR: */ /* - ShowStat() remove display of graphics/chip mem. */ /* - add button for change file comments and rights. */ /* - crunch file/dir size fields to KiB, MiB, GiB (IEC Standard), */ /* see genByteStr() in DevsStat.c */ /* - view comments in lha archives */ /* - allow to close the about requester without waiting */ /* - rewrite dir listviews after resizing window */ /* - integrate RMB, MMB and wheel */ /* - replace date in LV with "Today" and "Yesterday" if possible */ /* - sometimes crash when renaming a file */ /* */ /**************************************************************************/