CERN Library 3.0 Prerelease 3 (TEST OF WINDOWS PORT)
This is the announcement of the CERN Common Code Library
3.0pre3. This beta-release is the last before the real thing. It
contains a set of bug fixes, new interface AND A PORT TO
PC/WINDOWS based on Winsock. The purpose of this last prerelease
before the official 3.0 release is to get feedback from PC/WINDOWS
developers so that we can get better support in Library version
3.0. Some more information:
- I have used Microsoft Virtual C++ (msvc) and a so-called project.
One of the problems using this is that it generates a non-standard
make file. Also, msvc automaticly scans for all dependencies. However,
it doesn't use a preprocessor, so if an include file is within
#ifdef unix
#include <system.h>
#end
it is taken as a dependency. There are two solutions to this: Either
create dummy include files or hand tailor the make file. I chose the
second solution.
- The TCP/IP library used is Winsock.
- I have tried to compile the library in two modes:
- Static library (.lib)
- Dynamic Library (.dll)
When making a DLL, neither stdin
,
stdout
, stderr
nor a lot of system calls are
defined. This is a problem as I haven't solved all the problems of
unresolved references to system calls. I hope to get some help on this
one! This is not a problem using a LIB, but it isn't as interesting
either.
- There are still global memory that's not getting freed at the
end. I hope that the
WWWLibTerminate()
will make this
easier. Especially the anchors is a problem.
The Line Mode
Browser is also released in order to show how the multithreaded
functionality can be enabled. The method used in the Line Mode Browser
is not limited to character-based clients but can support GUI clients
as well.
Its is known to compile on Sun4, Solaris 2, HP Snake, NeXT, NeXT-386,
Decstation Ultrix, DEC OSF/1, SGI, AIX, PC/WINDOWS and possibly a lot more.
The Library is
not compatible with the CERN server 3.0 and it should NOT be linked
with this application. A later release of the CERN server will support
the current Library.
New or Changed Features
Made a WWWLib.h include file which should be the only one
necessary DON'T USE ANYTHING ELSE!!!
Replaced TRACE messages from stderr to using a macro TDEST On
windows and other use local file
Due to the PC Port some files have changed names (max 8 chars):
- s?HTFWrite.h?HTFWrite.h?g
- s?HTHist.h?HTHist.h?g
- s?HTEPtoCl.h?HTEPtoCl.h?g
- s?HTDescpt.h?HTDescpt.h?g
- s?HTXParse.h?HTXParse.h?g
- s?HTErrMsg.h?HTErrMsg.h?g
Move EnableFrom to HTAccess.html
Sockets are no longer assumed to be small, unsigned integers, but
uses macros
Introduced error_stream as field in HTRequest structure. This
enables the client to get the `dead information' that follows in a 3xx
request, 4xx request etc.
Bug Fixes
- file:// no more tries ftp:// if host=localhost
- Improved proxy support and fixed bug
- Bug fixed in HTGetHostName()
- Bug fixed if UserID/passwd not correct and don't want to retry
- HTNewsHost is now a local variable. Use HTGetNewsHost and HTSetNewsHost
- HTErrorAdd and HTErrorSysAdd no always return HT_ERROR
- Fixed bug in HTGetDomainName when no domain name is present at all
- Introduced Headermask into request structure
- Add output_flush to request structure
- Created HTDateTimeStr() in HTString
- Removed HTEnableFrom (replaced by HeaderMask in request)
- HTWriter added a parameter in stead of HTWriterNoClose()
- Removed HTInetStatus. Done by HTErrnoString
- Introduced socerrno and errno
- Uses IOCTL as a macro now - not fcntl
- and a lot of other stuff...
Have fun!
Henrik Frystyk, libwww@w3.org, Marts 1995