The Small IFF Parser - By Michael Jansson WHAT IS IT? This archive contains files that when compiled will produce a standard amiga library that is an exact sub-set of the iffparse.library. The library is an EXACT sub-set in the sense that you can rename it to be iffparse.library and put it in your LIBS: directory and then let programs that normally requires the true iffparse.library use this imposture ;-). It is an exact SUB-SET because some of the function does only exist as dummy functions that always fails (noop:s) and some of the function only supports some of the functionality of the real thing. The big difference is that only DOS-files and the Clipboard can be used as input/output and that the parser can only be used in the raw-step mode (No StopOnExit, StopChunk etc). Look in the code for more details. Do you want to know how to use the functions? Read the code ;-) or buy the autodocs for the iffparser. I have included a few programs that illustrates the use of the iffparser. They will work with both the small and the real iffparser. THE CONTENT I have included two versions of the library: SafeSmallIFFParse.library and SmallIFFParse.library. The 'safe' version will prompt you for a reply whenever a program opens the library. The unsafe version will offer its services to any programs that wants it. Properly written program will in worst case notice that the library can't do some of the true library's functions and should just fail. The programs I have included will manipulate the clipboard. They are called LsClip, CutClip and PasteClip and they will list the IFF-content, put some text in the clipboard and paste text from the clipboard. HOW DO I USE IT The library is used by renaming one of the versions to 'iffparse.library' (IMPORTANT!) and then put it in LIBS:. You need 2.0 includes to re-compile the library and the programs and Manx C-compiler and the libstart.asm file that comes with Manx 5.0. LEGALITY This library has NOT been written by any means of reverse engineering or disassembling of the true library. The only thing I have 'stolen' is the specification and the library offsets (I assume that anyone may use them in this way once you have purchased them from SAS, Manx, CATS or what-ever). I find no ethical problems with this and since it has been done before in some sense (remember arp?) I guess it is ok to do so. The people I have been in contact with feel the same way so I assume that I am not violating any copyrights. The code is in Public Domain so you may use it or abuse it in any way you want, and I assume that I will get the proper credits if you do (a kind word or a beer will do ;-). WHO NEEDS IT? If you have legally required the true iffparse.library then you don't want to use this library because it is only a inferior sub-set of it, unless you are interested in saving some disk space. If you don't have the true iffparse.library then you might find that some programs that uses the iffparse.library works with this sub-set. In either case you might want to use the code to port 2.0 programs that uses the iffparser to be usable without the library. GUARANTEES Sorry, there is no such thing. If it blows up then it blows up - Don't blame me ;-). I am using the library with another project of mine where I am using both the clipboard and files to read write very complex IFF:s. My programs works equally good with the real thing and my substitute both under normal circumstances and when error occurs. I practice safe programming ;-) which means that I check every function that might fail and I deallocate and closes all resources that was allocated or opened in the code (this is obvious of course) so the code will probably work in both normal and extreme circumstances. MISSING THINGS? Have I missed something essential in the library? Let me know and I might fix it. !(c) 1991, Michael Jansson. E-Mail: mij@ida.liu.se