Release 50

2000-11-04

 This Release's Editorial

"Opportunity is missed by most people because it is dressed in overalls and looks like work." -- Thomas Edison

Adding new features to WFC is still low on my priority list. My day job continues to challenge me (a database driven website). I've learned that the Netscape browser sucks (it doesn't deal well with CSS style sheets).

I've also fixed all of the broken link errors in the class list web page. Since moving to this Unix-based web server, the filenames in URL's are case sensitive.

 New

wfc_get_string_from_clipboard - Grabs text from the clipboard and puts it into a CString.

wfc_get_activex_servers - Retrieves a list of servers that are safe to download ActiveX controls from and puts it into a CStringArray. If a server named CODEBASE is listed, it means your machine is wide open to malicious ActiveX controls.

wfc_set_activex_servers - Tells Win32 what servers are safe to download ActiveX controls from. If you set a server named CODEBASE, you are leaving yourself vulnerable to malicious ActiveX controls.

 Modified

CExtensibleMarkupLanguageElement - Added NewChild() method. I was generating XML from a SQL query in an ISAPI extension DLL and got tired of the error prone way of creating new elements. NewChild takes care of that for me.

CFile64 - Added methods to allow for complete control over CreateFile().

CMemoryFile - Recoded this class to use CFile64 instead of CFile because I needed complete control over the CreateFile() API. In short, I needed the ability to memory map a temporary file. When the file is unmapped, the operating system deletes it for me (using the FILE_FLAG_DELETE_ON_CLOSE).

CNetworkUsers - Added a method named ChangePassword() to change a user's password.

UNICODE_to_ASCII() - added a code page parameter. The default is to use the CP_ACP code page.

 Fixed

Thanks to Danny Smith, from New Zealand, for sending me a ton of bug fixes for use with the MinGW system which uses the GCC compiler. GCC has several bugs in it that must be coded around. One of the bugs is GCC can't handle #if 0 sections in source code. This just happens to be where I put the HTML documentation for the classes. To fix it, I had to edit every stinking source code file to get rid of #if 0/#endif sections and replace them with comment markers (/*...*/). GCC also has a problem with the Conditional Operator using macros. Soon, I will be compiling WFC for use with Intel's VTune tools. No doubt, there will be changes.

CExtensibleMarkupLanguageDocument - Thanks go to Larry Bredehoeft for finding a bug where I was not copying a source document's element callback functions.

CExtensibleMarkupLanguageElement - Thanks go to Juro Gottweis, for finding a bug where I was trimming all white space elements when the WFC_XML_ALLOW_AMPERSANDS_IN_ELEMENTS option was specified.


Release 49 Notes

Sam Blackburn
wfc@pobox.com
Return to Sam's Home Page