Short:        Dynamic buffers (IFF streamable) + support funcs
Author:       RhoSigma, Roland Heyder <http://rhosigma-cw.net/>
Uploader:     Roland Heyder <rhosigma rhosigma-cw net>
Type:         util/libs
Version:      4.800 (12.05.15)
Architecture: m68k-amigaos >= 2.0.0

english:
¯¯¯¯¯¯¯¯
  The ExtraLib package is FREEWARE.

  => some features of this library
     - support functions to compute checksums in standard amiga filesystems
     - complex dynamic buffer system for easy data handling in memory
       - buffers usable as source/target for IFF-Streams via InitIFFasDBS()
       - no buffer cleanup required, the library keeps track of resources
     - a somewhat more fancy »DisplayAlert()«-replacement function
     - some functions for formatted output and number <-> string conversion
       - no string cleanup required, the library keeps track of resources

  => as far as I could test it (WinUAE 3.0.0), the library does also work
     with AmigaOS 4.x (Classic Versions)

  => sorry, the developer documentation and include files are currently
     available in german only

  => if you wrote software using any functions of the extra.library, then
     feel free to distribute a standalone copy of the library enclosed with
     your package, but please mention the ExtraLib.lha archive as its source
     and Aminet util/libs as the place to go for download

  Find all my Software on Aminet:
  -------------------------------

   http://aminet.net/search?readme=rhosigma&sort=path


deutsch:
¯¯¯¯¯¯¯¯
  Das ExtraLib Packet ist FREIWARE.

  => einige Eckpunkte dieser Library
     - Hilfsfunktionen zur Checksummenbildung in Standard-Amiga-Filesystemen
     - ein dynamisches Puffer-System für einfache Datenhandhabung im Speicher
       - Puffer können als IFF Ein-/Ausgabe genutzt werden über InitIFFasDBS()
       - kein Aufräumen erforderlich, die Library erledigt das automatisch
     - eine etwas schönere Funktion als »DisplayAlert()«-Ersatz
     - Funktionen zur formatierten Ausgabe und Zahl <-> String Umwandlung
       - kein Aufräumen erforderlich, die Library erledigt das automatisch

  => soweit ich das testen konnte (WinUAE 3.0.0), arbeitet die Library auch
     mit AmigaOS 4.x (Klassik Versionen)

  => wenn du Programme geschrieben hast, die irgendwelche Funktionen aus der
     extra.library benutzen, dann darfst du auch gerne eine Einzelkopie der
     Bibliothek deinem Programmpacket beilegen, aber bitte weise darauf hin,
     daß die Quelle das ExtraLib.lha Archiv ist und dieses auf dem Aminet
     unter util/libs zum herunterladen bereit steht

  Finde alle meine Software im Aminet:
  ------------------------------------

   http://aminet.net/search?readme=rhosigma&sort=path

===========================================================================

Early History:
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
v0.000 (18.11.98)
       - history for old versions before v4.000 is removed for cleanup, also
         any further support for those old versions has been dropped now

       - compatiblity for old software depends on the software itself, if
         it was following given old rules, then everything should work fine

       - new software should ALWAYS OpenLibrary() with at least version 4
         and also use the most recent developer files

       - if you have old source code which is using the extra.library, then
         it's maybe a good idea to recompile it now for v4.000+ usage

       - before recompile the old v2_XXX function names must be renamed to
         its new names, simply remove the 'v2_' prefix from function names
         and instead append 'Type' to the names, e.g. v2_OpenBuf() is now
         named OpenBufType()

History (cleaned for v4.000+):
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
v4.000 (26.05.03)
       - is now the lowest supported version, you will find a EXTRA_MINIMUM
         symbol defined in the include files to reflect this

v4.172 (21.06.03)
       - fixed a bug in »StringToLong()«, plus (+) is now also accepted for
         signed value strings

       - had some random crashes caused by »UnGetMem()« with any other
         argument given than »NULL«, intercepted and fixed now

       - little change within »ShowMsg()«, if a button is pressed, then it
         now waits until it is released again to avoid multiple screen
         flipping, which happens in case a retry loop is active and the
         function is reentered before the button is released

v4.516 (30.05.04)
       - changed »PrintIoError()« and »ShowMsg()«, beside left/right mouse
         buttons, you can also use the keys LALT/LAMIGA and RALT/RAMIGA now
         to make a selection

v4.630 (26.11.05)
       - fixed some minor bugs in number <-> string conversion routines

       - improved »VSPrintF()« string length calculation to make it safer
         against random buffer overflows (which mostly did cause a crash)

v4.633 (04.06.06)
       - small improvements done on internal memory mangement, which I've
         learned during the work on my MemOptimizer project
         (see util/boot/MemOptimizer.lha)

       - an uninitialized list header was used in string conversion routines,
         minor bug, because only used in very rare cases, but fixed now

v4.649 (08.09.06)
       - bugfix in »Replace()« for OldSize/NewSize Checks, in certain rare
         cases a buffer overflow could happen while writing the new data

       - bugfix in »FindString()« for Size Check, did only check WORD-Size,
         hence sizes with bit 15 set were interpreted as negative, which
         could cause an early abort or wrong search result

       - better ModeID Check for »ShowMsg()« to find out if an RTG or AGA
         should be used depending on the current front screen

       - optimized »CmpMem()«, »CopyMemI()« and »FillMem()«, saved some
         cycles within the internal loops, hence time per loop is less now,
         which should speedup at least large size calls a bit

v4.800 (12.05.15)
       - cleaned up and final release

       - fixed two Mungwall-Hits, which were harmless on classic AmigaOS
         versions upto 3.9 but caused DSI errors with AmigaOS 4.x

       - unfortunately I've never received any comments, bugreports or
         suggestions during all the years since 1998, so I must assume I'm
         the only one who's really using this library, by this means...

         *****************************
         *** PROJECT DONE & CLOSED ***
         *****************************