******************************************************************************* MakeLink Replacement v1.0 "Use the power of softlinks!" --- Freely Distributable --- © 1994 The Beet Research written by Grzegorz Calkowski ******************************************************************************* DISCLAIMER ---------- The program executable and information above is provided "as is". No representations or warranties are made with respect to the accuracy, reliability, performance, currentness, or operation of this software and information, and all use is at your own risk. The author doesn't assume any responsibility or liability whatsoever with respect to your use of the program and information. COPYRIGHT --------- MakeLink Replacement is just Freely Distributable. NOTE, you may not copy and/or distribute this program without this doc file! REQUIREMENTS ------------ MakeLink requires at least V37 (2.04) Kickstart as in V36 softlinks were broken. DESCRIPTION ----------- MakeLink was developed as replacement for orginal C='s makelink command. The orginal one lacks of one very useful feature - doesn't support softlinks. This is why the replacement was made. Yes, but what advantage softlinks give? With them, you can make a link ACROSS devices. For example across partitions of your harddisk or even across floppy disk and harddisk partition! In the last case when you "cd" dir linked to a floppy you will be asked to insert it if it's not mounted. Technically it's possible, because softlinks are resolved at access time while a hardlink is equivalent to the dir/file itself. As in V37, V39 and V40ß (40.1) (I didn't test it on the latest V40 release) softlinks are NOT fully supported by OS. MakeLink supports *ONLY* softlinks for directories. To make a link to a file a hard one must be used. Well, it's possible to make softlink to a file but the link will be created as directory (!) and, surprise, the file can be accessed by entering such a directory! It's not only strange but also has quite important limitations - no arguments can be parsed and even such link cannot be copied! Only can be executed from Shell. As it is REALLY strange behavior I deciced to not allow it. Note, even softlinks are not fully implemented they are _SAFE_ to use. WARNING!!! One word has to be said about hardlinks. Kickstart file systems versions, including V37, V39 and V40.1 (ßeta) have a _BUG_ in handling of hardlinks which CAN cause SERIOUS corruption of your harddisk and even system can be UNABLE to validate such volume!!! It can happen when you create a hardlink to a file and remove this file while the hardlink still exists! So generally: DON'T USE IT :-(. Note, that the new MakeLink is only 52 bytes longer than orginal one!! (without additional comments it's even shorter! 100% assembly... :). MakeLink was tested with Enforcer and no hits were encountered. USAGE ----- Command template: FROM/A,TO/A,HARD/S,FORCE/S, where: FROM name of the link TO dir/filepath to be linked to HARD if specified hardlinks will be used by default soft-links are used FORCE required for directory links MakeLink is supposed to be used in nearly exact way as the orginal one. The only difference is you have to specify HARD if you want to use hardlinks instead of soft ones. Note that this switch exists in orginal makelink but even if not specified hard links are used. IT'S THE DIFFERENCE. EXAMPLARY USAGE --------------- makelink a_soft_link MyDir FORCE Creates a softlink named "a_soft_link" in current directory to directory "mydir". Note the FORCE keyword must be specified. makelink sys:another_soft_link mydisk: FORCE Creates a softlink in SYS: to volume entitled "mydisk". makelink floppy df0: FORCE Creates a softlink to _ANY_ floppy disk inserted in df0: makelink links_here/a_hard_link :mydir HARD FORCE Creates a hardlink in dir "links_here" to directory named "mydir" placed in the root. Note the FORCE keyword must be specified. makelink a_file_link tools/myfile HARD Creates a hardlink to file "tools/myfile". Note the file and the link _MUST_ exists on the same volume just due to nature of hardlinks. See warning above. NOTE ---- I'm sure there are other makelink replacements which supports softlinks. As I haven't any I decided to code my own. (I live in small village and as I haven't direct access to Internet or any BSS I do not so often get hot stuff... I have to rely on slooow snail-mail chanells... how sad...8·|. ) CONTACTING THE AUTHOR --------------------- Any ideas or bug reports will be sincerely welcomed. Just drop me a piece of paper. Grzegorz Calkowski Rzedowice ul.Dobrodzienska 8 42-780 Dobrodzien POLAND (snail-mail rules...ahem..suxx!)