Ldos V2.5(3) is (c) Copyright by Niklas Sjöberg See LdosV25.DOC for information about how to register and/or send bugreports. Changes from version 1 to version 2 ----------------------------------- o Fixed a bug in Lpp Mem. Due to some aritmethic error files >64 kb would show a totally wrong value and you could easily crash the machine by reserving to little memory. o Added Lmatch - Powerful patternmatching, KS2 only. o Added Lcrypt - Crypting of datafiles. o Added Ldecrypt o Added Lset Var - Routines for using environmentvariables. o Added Lget Var - KS2 only. o Added Ldelete Var o Fixed 'bug' in all Ldevice-routines. Could cause an AMOS-task to still survive when AMOS was quit. This meant that trying to start AMOS once again directly after (often) had no effect. I still don't know if this was due to a 'feature' of AMOS or Ldos. Rewrote most of the code, remo- ved all stack-usage and, voilá... o Added Lchk Data - Calculate checksum for OFS datablocks. o Added Lchk Boot - Calculate checksum for Bootblocks. o Added Lansi - Powerful ANSIhandling-routine. o Added Lcat Push - Commands for handling of recursive "Lcat"-ing. o Added Lcat Pull o Added Lpos Freq - Force position of the filerequester. o Added Lcust Freq - Customize size of device-field, filename- field and number of files displayed. o Added Lfontsize Freq - Used when the filerequster is in font-mode. o Added Lback Hunt - Backwards hunting in buffers. Very useful in page/line-oriented applications. o Added Ldev First - Listing and separating of 'hard' devices, disks and Ldev Next assignments and volumes. o AMOS (and Ldos) now boots correctly even if some libraries can't be opened. o Added Lwords - Used to count words in strings. Handles multiple spaces, commas, tabs and doublequotes. Mainly used in conjunction with Lword. o Added Lword - A command being able to mask out any word from a string (without modifying it). Very much similiar to the ARexx-command 'WORD'. Changes from version 2 to version 2.1 (just released V2 :-( ) ------------------------------------------------------------- o Lfile Type no longer crashes when dir/filename doesn't exist. o Added Lwild which can find out if a string contains a valid AmigaDOS wildcard so that Lmatch won't produce an error (overflow) if it is called with a non-wildcard string. o Added Lset File Date which allows you to change date and time-stamps on files and directorys. KS2 only. Changes from version 2.1 to 2.5 ------------------------------- THANK YOU ALL WHO HAS REPORTED BUGS! ------------------------------------ Thank you for registering. It wasn't to many but it is nice to know that Ldos/Lser helped some of you. Also nice to receive letters and discuss AMOS among other things. There is a big bump in the version number but since so many lethal bugs have been fixed I thought it was best to use a high version number (more people wil bother to download it and this will result in more stable programs) o This is probably the final and last release of Ldos. It seems to be pretty stable now. Most commands will trap user-erros, some won't. You still have to be a bit careful with some commands (for instance make sure there's enough room in banks etc.) but generally Ldos seems to be quite safe now. o Never say never. There is a possibilty that there will be further bugfixes :-) o Updated manual a bit. The important/new things are marked (see doc) but there might be some new hints for some of you, not marked. o V2.1 was a rush-release. I had just started to fix some bugs when you guys started to register :-) Thought it would be best to ship you the latest release, and thus had to change the revision number in order to avoid confusion. o Added some new examples. LineInput might be useful for all you lazy ones ;-)) It is hard to find both meaningful and useful programs to write.. o Lfreq can now be called like A$=Lfreq("",FLAGS) without crashing. Thanks to Alexander Folkesson in Sweden. o Alexander Folkesson noted (just like me..) that when you changed Dir$ Lopen etc. still worked in the directory that was AMOS start-dir. LLdir$ was thus implemented. See docs for additional information. o Fixed the command ESC[y;xf in Lansi. I KNOW I've fixed this before, but somehow there must have been a mix-up with some older routine several versions ago :-( Most fullscreen- readers/editors frequently use this command to locate the cursor. Thanks to Joao Carvalho in Portugal and Alexander Folkesson. o Fixed the command ESC[y;xH in Lansi to properly locate cursor at 0 if requested. It used to stop at position 1 before. This of course also applies to ESC[y;xf. o Added check that makes sure that all strings that Lrexx* need are NULL- terminated, otherwise an errormessage is produced. o ... (didn't catch his name) reported that Ldisk Font had caused his computer to crash. After a closer look, check for fontname of length zero was added. Also found out that you need V36+ of diskfont.library in order to specify a separate path for the font you wish to load. (yet another reason to rush out an by your AmigaDOS upgrade) It is still valid to call with a requested fontsize of zero, if anybody wants to do that :) o Fixed a bug in Lseek, which sometimes caused Lseek to only return the current position, instead of moving. This only happened on files >64Kb, and just in some cases. o Lmatch now generates an error if your strings isn't NULL-terminated (STRING$=STRING$+Chr$(0)) If they aren't 0-terminated this can cause stack overflow, or a valid wildcard to be regarded as non-valid. o Added short (but full) on-line help. See Help.DOC for more information. o Fixed a bug in Lstamp which would subtract one day from the date if the current year was a leap-year (all other leap-years was OK). All date routines should work OK now. (Up to year 2099 at least) o Now shipped with a new version of rexxhost.library. Throw loadlib into Trashcan! o If rexxhost.library failed to open (due to missing or user hasn't got the whole ARexx-package (libs and server)) an error is generated when Lrexx Make Host is called. None of the other functions will warn you since any program that is Rexx-compatible always would set up a port first. If you call other functions before Make Host and rexxhost has failed on startup your computer will most likely crash! Thanks to Micke Palm in Sweden. o MAJOR BUG! Micke Palm reported that Ldos crashed when he exited to the system. Somehow I forgot to remove the code which opened locale.lib (not used in Ldos) and when all the libraries where to be closed, locale would _only_ be closed if it wasn't open (!). This was safe under V36+ but not on lower versions of the KS. All locale code now removed. (I tend to forget to check the easy things, sorry.) o rexxhost.library is now closed when AMOS/compiled program is quit and can thus be expunged later on (it is so small though). Thanks to Micke Palm again who made me check startup/quit code (wihtout knowing about it :-). o MAJOR BUG! Due to fault in my own includes files left open (Lopen) would not be closed on exit. Last lock() (Lcat*) would not be de-allocated. Now fixed. o Lword now handles words of length 1. Used to add garbage if last word was only one char long, or hang if first word was one char long. o Lbstr sped up by as much as 50% on large strings. Thanks to Manuel Andre in Belgium. o