Cgipp v0.3 <-> Cgipp v0.2
|
Simplified, and I have stopped using
Cgipp has changed quite a lot from Cgicc, but I have tried to
maintain much of the old structure, to make the conversion from Cgicc to Cgipp
as easy and trivial as possible. The most notable changes is:
CgiForm and CgiPackage has been combined into one class:
CgiData, this solves many of the problems there
was with this unnecessary separation.
Many bugs have been removed. I do not maintain a list, so I
recommend that you compare the source code. Most (if not all) memory leaks have
been removed.
Code size has in some cases been halved, but does the same job and more.
Needless logging has been removed or commented out.
Using a ostrstream for output was not too portable as I have had
severe problems with this on IRIX where crashes occured seemingly
random. This has been changed to ostream which means that
people who prefer using a strstream may use it as any ostream. I also
had a problem on many platforms if the programs crashed I got
NO output at all where I do get output using
e.g. cout/stdout.
Reduced the number of arguments to cgiMain() to two,
from four. [Only Cgipp v0.2+]
htmlTool [Was: HTMLDocument] has become a subclass of ostream
which makes it much
easier to use and much more adaptable. It does accept all that the old
HTMLDocument did, but has grown in possibilities (code size is half
though). The file now also fits better into Dos' 8.3 filenames.
[Outdated :Removed much of the unecessary cleaning when bailing out. A
speedy cgi-program should not use years to clean up something the OS
(at least on unix) will do.] Much safer ways to clean up memory before leaving,
and a better bound-checker has been included for better portabilitiy to PCs
when run in DEBUG mode.
Easier installing on systems. Uses configure on unix-systems and includes
IDE-file for various installs on PC.
Exceptionhandling and exceptionthrowing removed due to numerous
internal compiler errors on different platforms. The programs I
develop on my linux should work on solaris and the ones I develop on
Solaris should be usable on IRIX too w/o internal compiler errors. The
day we get good c++ compilers on unix I'll include exception handling.
[Note: the DOS-version may get exception-handling soon quite simply
because it works on Borland's compiler]
Added Toolbox class for the things I far too often use in all my
programs..
Updated the whole library to compile and be used flawlessly on
pcs, sun4, irix, osf, solaris, etc.. This takes time and effort and
thorough testing which has been done now. [More testing on v0.2 should
be done. Runs flawlessly on linux and DOS at least]
The CgiEnv class now has support for more types of
environment variables than it had, including cookies.
Cgicc's promise of never returning variables as NULL
was not kept, but is almost kept except for the PostData variable.
Most (if not all) freebie methods have been put in the classes where
they belong. (Usually in a protected mode)