summaryrefslogtreecommitdiff
path: root/ACE/ChangeLogs
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2019-03-13 09:53:41 +0100
committerJohnny Willemsen <jwillemsen@remedy.nl>2019-03-13 09:53:41 +0100
commit00dca1ae00e03eaa351634028048dc6e8b7eacbf (patch)
tree20e0e337750575e6aa5431a86ef93cd79d401c07 /ACE/ChangeLogs
parent0fdf4448805f57fcaab4ac7171004ae4bf73ee3c (diff)
downloadATCD-00dca1ae00e03eaa351634028048dc6e8b7eacbf.tar.gz
Moved all changelogs to the ChangeLogs directory
Diffstat (limited to 'ACE/ChangeLogs')
-rw-r--r--ACE/ChangeLogs/ChangeLog-ACEXML1256
-rw-r--r--ACE/ChangeLogs/ChangeLog-ASNMP570
-rw-r--r--ACE/ChangeLogs/ChangeLog-FOCUS290
-rw-r--r--ACE/ChangeLogs/ChangeLog-JAWS1053
-rw-r--r--ACE/ChangeLogs/ChangeLog-asnmplib227
-rw-r--r--ACE/ChangeLogs/ChangeLog-drwho399
-rw-r--r--ACE/ChangeLogs/ChangeLog-gperf2171
7 files changed, 5966 insertions, 0 deletions
diff --git a/ACE/ChangeLogs/ChangeLog-ACEXML b/ACE/ChangeLogs/ChangeLog-ACEXML
new file mode 100644
index 00000000000..1eb3dec01d8
--- /dev/null
+++ b/ACE/ChangeLogs/ChangeLog-ACEXML
@@ -0,0 +1,1256 @@
+Tue Feb 28 03:03:38 UTC 2012 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * parser/parser/Parser.cpp (ACEXML_Parser::parse_reference_name):
+ Expression 'ch != '_' || ch != ':'' is always true. Used the
+ '&&' operator instead. Thanks to Andrey Karpov <karpov at
+ viva64 dot com> for reporting this.
+
+Fri Oct 21 09:50:19 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * parser/parser/Parser.cpp:
+ Initialise variable with 0
+
+Fri Oct 21 09:48:21 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/Attributes.h:
+ * common/AttributesImpl.h:
+ * common/Attributes_Def_Builder.h:
+ * common/CharStream.h:
+ * common/ContentHandler.h:
+ * common/DTDHandler.h:
+ * common/DTD_Manager.h:
+ * common/DefaultHandler.h:
+ * common/Element_Def_Builder.h:
+ * common/Encoding.h:
+ * common/EntityResolver.h:
+ * common/ErrorHandler.h:
+ * common/Exception.h:
+ * common/HttpCharStream.h:
+ * common/InputSource.h:
+ * common/Locator.h:
+ * common/LocatorImpl.h:
+ * common/Mem_Map_Stream.h:
+ * common/NamespaceSupport.h:
+ * common/SAXExceptions.h:
+ * common/StrCharStream.h:
+ * common/StreamFactory.h:
+ * common/Transcode.h:
+ * common/URL_Addr.h:
+ * common/Validator.h:
+ * common/XMLFilterImpl.h:
+ * common/XMLReader.h:
+ Doxygen changes, fix some Klocwork reports
+
+Tue Aug 3 16:50:57 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/DTD_Manager.h:
+ Fixed compile error
+
+ * common/SAXExceptions.inl:
+ Fixed fuzz
+
+Tue Aug 3 11:58:06 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/Makefile.am:
+ * common/common.mpc:
+ Updated because of the removed files
+
+Tue Aug 3 11:52:06 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/svcconf/Svcconf.cpp:
+ * apps/svcconf/Svcconf_Handler.h:
+ * apps/svcconf/Svcconf_Handler.cpp:
+ * common/Attributes_Def_Builder.h:
+ * common/CharStream.h:
+ * common/ContentHandler.h:
+ * common/DTDHandler.h:
+ * common/DTD_Manager.h:
+ * common/DefaultHandler.h:
+ * common/DefaultHandler.cpp:
+ * common/Element_Def_Builder.h:
+ * common/EntityResolver.h:
+ * common/ErrorHandler.h:
+ * common/Exception.h:
+ * common/SAXExceptions.inl:
+ * common/Validator.h:
+ * common/XMLFilterImpl.h:
+ * common/XMLFilterImpl.cpp:
+ * common/XMLReader.h:
+ * examples/SAXPrint/Print_Handler.h:
+ * examples/SAXPrint/Print_Handler.cpp:
+ * examples/SAXPrint/SAXPrint_Handler.h:
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+ * examples/SAXPrint/main.cpp:
+ * parser/debug_validator/Debug_Attributes_Builder.h:
+ * parser/debug_validator/Debug_Attributes_Builder.cpp:
+ * parser/debug_validator/Debug_DTD_Manager.h:
+ * parser/debug_validator/Debug_DTD_Manager.cpp:
+ * parser/debug_validator/Debug_Element_Builder.h:
+ * parser/debug_validator/Debug_Element_Builder.cpp:
+ * parser/parser/Parser.h:
+ * parser/parser/Parser.cpp:
+ * tests/ContentHandler_Test.cpp:
+ * tests/Transcoder_Test.cpp:
+ Removed support for emulated exceptions
+
+ * common/Env.h:
+ * common/Env.inl:
+ * common/Env.cpp:
+ * common/XML_Macros.h:
+ Removed these files.
+
+Thu Mar 25 19:41:57 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * parser/parser/Parser.cpp (ACEXML_Parser::parse_encoding_decl):
+ Changed ACE_OS::strcmp() to ACE_OS::strcasecmp(). Thanks to Tim
+ Pinkawa <tpinkawa at eagleseven dot com> for reporting this.
+
+Tue Oct 13 09:37:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/svcconf/Svcconf_Handler.cpp:
+ Fixed compile problems with unicode enabled. Thanks to
+ Christian Freund <freund at wrz dot de> for reporting this. This
+ fixes bugzilla 3745.
+
+Mon Jul 30 08:38:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/svcconf/Svcconf_Handler.cpp:
+ Layout changes
+
+Mon Jul 16 10:19:51 UTC 2007 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * apps/svcconf/Svcconf_Handler.h:
+ * apps/svcconf/Svcconf_Handler.cpp:
+ * common/Attributes_Def_Builder.h:
+ * common/ContentHandler.h:
+ * common/DTDHandler.h:
+ * common/DefaultHandler.h:
+ * common/DefaultHandler.cpp:
+ * common/Element_Def_Builder.h:
+ * common/EntityResolver.h:
+ * common/ErrorHandler.h:
+ * common/Validator.h:
+ * common/XMLFilterImpl.h:
+ * common/XMLFilterImpl.cpp:
+ * common/XMLReader.h:
+ * examples/SAXPrint/Print_Handler.h:
+ * examples/SAXPrint/Print_Handler.cpp:
+ * examples/SAXPrint/SAXPrint_Handler.h:
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+ * parser/debug_validator/Debug_Attributes_Builder.h:
+ * parser/debug_validator/Debug_Attributes_Builder.cpp:
+ * parser/debug_validator/Debug_Element_Builder.h:
+ * parser/debug_validator/Debug_Element_Builder.cpp:
+ * parser/parser/Parser.h:
+ * parser/parser/Parser.cpp:
+ * tests/ContentHandler_Test.cpp:
+
+ Fixed Fuzz warnings. Zap the usage of exception specification.
+
+Sun Jun 3 20:02:32 UTC 2007 Olli Savia <ops@iki.fi>
+
+ * common/FileCharStream.cpp:
+ Replaced ungetc with ACE_OS::ungetc.
+
+Fri May 18 02:50:42 UTC 2007 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * common/Mem_Map_Stream.cpp:
+
+ It makes no sense to have code after a return statement
+ (such as ACE_ERROR_RETURN). It causes some builds to have
+ "statement is unreachable" warning.
+
+ * examples/SAXPrint/main.cpp:
+
+ Enhanced the "#ifndef" macros used to avoid "statement is
+ unreachable" warning.
+
+Tue May 15 17:36:23 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * parser/parser/ParserInternals.h:
+ Removed msg_ member, it is not used at all. Thanks to Rajiv K. Shukla
+ <rajiv_shukla at yahoo dot com> for reporting this
+
+Tue Feb 27 21:15:23 UTC 2007 Ossama Othman <ossama_othman at symantec dot com>
+
+ * common/FileCharStream.cpp (open):
+
+ s/ACE_Utils::Truncate/ACE_Utils::truncate_cast/g. The former is
+ deprecated.
+
+Tue Feb 20 17:26:28 UTC 2007 Krishnakumar B <kitty@nospam.invalid.domain>
+
+ * common/InputSource.cpp:
+ * parser/parser/ParserContext.h:
+ * parser/parser/ParserContext.inl:
+ Use std::swap instead of ACE_Swap
+
+Tue Feb 13 20:17:28 UTC 2007 Krishnakumar B <kitty@nospam.invalid.domain>
+
+ * apps/svcconf/Svcconf_Handler.cpp: Fixed a problem with
+ ACE_Module getting unloaded prematurely due to
+ ACEXML_Svcconf_Handler failing to register it with the service
+ repository. Thanks to gzeleniy@gmail.com for providing the fix.
+
+Wed Jan 03 14:20:00 UTC 2007 Simon Massey <sma@prismtech.com>
+
+ * common/XML_Macros.h:
+ With MFC, must delete any caught and eaten "out of memory" exceptions.
+
+Fri Oct 28 02:29:57 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ From Russell Mora <russell_mora at symantec dot com>
+ * common/ContentHandler.h:
+ * common/DefaultHandler.h:
+ * common/DefaultHandler.cpp:
+ * common/FileCharStream.cpp:
+ * common/FileCharStream.h:
+ * common/HttpCharStream.cpp:
+ * common/HttpCharStream.h:
+ * common/Mem_Map_Stream.cpp:
+ * common/Mem_Map_Stream.h:
+ * common/XMLFilterImpl.cpp:
+ * common/XMLFilterImpl.h:
+ * common/ZipCharStream.cpp:
+ * common/ZipCharStream.h:
+ * common/StrCharStream.cpp:
+ * examples/SAXPrint/Print_Handler.cpp:
+ * examples/SAXPrint/Print_Handler.h:
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+ * examples/SAXPrint/SAXPrint_Handler.h:
+ * parser/parser/Parser.cpp:
+ * parser/parser/Parser.h:
+ * tests/ContentHandler_Test.cpp:
+
+ Added support for 64-bit file offsets.
+
+ Addressed 64-bit conversion warnings.
+
+Tue Oct 24 18:00:15 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * common/common.mpc:
+ * parser/parser/parser.mpc:
+
+ Re-disabled ACEXML when ace_for_tao is enabled. ACEXML needs
+ the ACE_Configuration and memory map classes that are not found
+ in the ace_for_tao subset.
+
+Mon Oct 24 02:26:32 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * common/common.mpc:
+ * parser/parser/parser.mpc:
+
+ No longer any need to explicitly disable ACEXML in the
+ ace_for_tao configuration.
+
+ * common/HttpCharStream.cpp:
+
+ Fixed Coverity OVERRUN_STATIC and FORWARD_NULL errors.
+
+ Improved const-correctness.
+
+ * common/codecs.mpb:
+
+ Disable ACEXML codecs support if ace_for_tao is enabled.
+
+ * common/Mem_Map_Stream.cpp:
+
+ Fixed Coverity NEGATIVE_RETURNS error.
+
+ * common/SAXExceptions.cpp (_downcast):
+
+ Removed redundant type checking code.
+
+ (~ACEXML_SAXNotSupportedException):
+ (~ACEXML_SAXNotRecognizedException):
+
+ Addressed Coverity USE_AFTER_FREE errors.
+
+ (exception_name_):
+ * common/SAXExceptions.h (exception_name_):
+
+ Declare this static constant as an array rather than a pointer.
+ Allows the compiler to perform additional optimizations.
+
+Tue Jun 20 08:23:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * parser/parser/Parser.cpp:
+ 64bit fix
+
+Thu Mar 30 13:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/NamespaceSupport.cpp:
+ Fixed value might be unitialized warnings
+
+Tue Mar 14 20:58:12 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
+
+ * common/FileCharStream.cpp
+ * common/HttpCharStream.cpp
+ * common/Transcode.cpp
+ * common/XML_Macros.h
+ * parser/parser/Parser.cpp
+ * parser/parser/Parser.i
+
+ Updated these files to solve the warnings when setting up "VC
+ level 4 warnings" on Windows. These warnings include
+ "unreachable code", "assignment within conditional expression",
+ "conversion from some type to another type, possible loss of
+ data", "local variable may be used without having been
+ initialized" and so on. Thanks to Lukas Gruetzmacher
+ <gruetzmacher at ais-dresden dot de> for motivating the fix to
+ these "VC level 4 warnings".
+
+Fri Feb 10 23:45:14 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * common/NamespaceSupport.cpp: Add missing template instantiations to
+ match change below.
+
+Fri Feb 10 12:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/NamespaceSupport.cpp:
+ Fixed compile error in unicode build
+
+Thu Feb 9 22:49:18 UTC 2006 Krishnakumar B <kitty@nospam.invalid.domain>
+
+ * common/NamespaceSupport.h:
+ * common/NamespaceSupport.cpp: Use a normal ACE_Unbounded_Stack
+ instead of yet another custom stack.
+
+ * parser/parser/Parser.h:
+ * parser/parser/Parser.cpp:
+
+ Fixed a mismatched push/pop of the namespace context due to
+ popping namespace contexts without matching the end of the
+ element that caused a push. This resulted in more pops that
+ push and corrupting the memory. Also fixed an indirection into
+ a pointer that might have been corrupt when calling
+ startNamespacePrefix().
+
+Tue Jan 24 23:09:08 UTC 2006 Krishnakumar B <kitty@nospam.invalid.domain>
+
+ * apps/svcconf/Svcconf.cpp:
+ * apps/svcconf/Svcconf.h:
+
+ Removed the overridden operator new/delete. I don't think that
+ they serve any purpose, and end up hiding the default variations.
+
+Mon Jan 23 14:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/ZipCharStream.h:
+ Updated include of zziplib.h to zzip/zzip.h to get rid of deprecated
+ warnings
+
+Wed Jan 4 22:44:38 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Untabify.
+ Delete-trailing-whitespace.
+
+ Changed "add-log-time-format" to a really ugly lambda expression
+ that formats changelog timestamps in UTC and works with both GNU
+ Emacs and XEmacs.
+
+Thu May 26 07:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/XML_Util.h:
+ Fixed pragma once warning
+
+Tue May 24 18:39:02 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * common/Makefile.am:
+
+ Regenerate.
+
+ * common/common.mpc:
+
+ Added XML_Util.h to Header_Files section.
+
+Tue May 24 09:18:34 2005 Justin Michel <michel_j@ociweb.com>
+
+ * tests/util/test.cpp:
+
+ Fixed for loop scoping problem for non-standard compilers.
+
+Mon May 23 14:52:19 2005 Justin Michel <michel_j@ociweb.com>
+
+ * tests/util/util.mpc:
+
+ Add missing $ Id tag.
+
+Mon May 23 13:02:25 2005 Justin Michel <michel_j@ociweb.com>
+
+ * common/XML_Util.h:
+ * common/XML_Util.cpp:
+
+ Added new ACEXML_escape_string() functions to allow replacement of
+ illegal characters, (', ", &, <, >, etc.) with the escaped versions.
+ (&quot;, &lt;, etc.)
+
+ * tests/util/test.cpp:
+ * tests/util/util.mpc:
+
+ This is a performance test used while making the above functions, and
+ testing performance with ACE_String_Base.
+
+Fri Apr 22 21:34:19 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * parser/parser/Parser.cpp (parse_entity_decl):
+
+ Fixed "variable may be used uninitialized" warning.
+
+Fri Apr 22 11:09:59 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * parser/parser/Makefile.am:
+ * common/Makefile.am:
+
+ Regenerated.
+
+ * parser/parser/parser.mpc:
+ * common/common.mpc:
+
+ Add Pkgconfig_Files section.
+
+Wed Apr 20 12:20:26 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * common/Attributes.h:
+ * common/ContentHandler.h:
+ * common/DTDHandler.h:
+ * common/EntityResolver.h:
+ * common/ErrorHandler.h:
+ * common/Locator.h:
+ * common/XMLReader.h:
+
+ Added virtual destructors to address g++ 4.0 warnings.
+
+ * common/Attributes.cpp:
+ * common/ContentHandler.cpp:
+ * common/DTDHandler.cpp:
+ * common/EntityResolver.cpp:
+ * common/ErrorHandler.cpp:
+ * common/Locator.cpp:
+ * common/XMLReader.cpp:
+
+ New files containing destructors.
+
+ * common/NamespaceSupport.cpp (getURI):
+
+ Fixed "variable may be used uninitialized" warning.
+
+Mon Apr 18 14:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * parser/parser/Entity_Manager.cpp:
+ Removed not uses static const
+
+ * parser/parser/Entity_Manager.i:
+ Initialise pointer with 0
+
+Sun Feb 13 23:54:25 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ From Lothar Werzinger <lothar at xcerla dot com>
+ * apps/svcconf/Svcconf_Handler.cpp:
+
+ Enhanced error messages.
+
+Wed Jan 5 14:08:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * common/DefaultHandler.{h,cpp,i}:
+ * common/NamespaceSupport.{h,cpp,i}:
+ * common/Transcode.{h,cpp,i}:
+ * examples/SAXPrint/Print_Handler.{cpp,i}:
+ Removed .i file and updated h/cpp file
+
+ * common/Makefile.am:
+ Updated
+
+Tue Aug 17 19:07:11 2004 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * common/NamespaceSupport.cpp:
+
+ Changed ACE_NEW_RETURN to use "NS_Node_T" instead of "struct
+ NS_Node_T" --- the latter triggers a gcc 3.3 parser bug when
+ used with the "new (std::nothrow)" version of ACE_NEW_RETURN.
+ Fortunately, the "struct" is unnecessary.
+
+Sat Feb 21 23:51:25 2004 Krishnakumar B <kitty@isis.vanderbilt.edu>
+
+ * common/Exception.h:
+ * common/Exception.cpp:
+ * common/SAXExceptions.h:
+ * common/SAXExceptions.cpp:
+
+ Fixed a few bugs in the way the exceptions were set-up in the
+ case when exceptions=0. Provided implementations for operator
+ assignment and duplicate(). This should fix problems with
+ throwing and catching exceptions when exceptions=0.
+
+Sat Jan 31 20:06:57 2004 Krishnakumar B <kitty@cse.wustl.edu>
+
+ * parser/parser/Parser.cpp (parse_PE_reference): Added ACE_TEXT
+ to satisfy WCHAR windows builds. Thanks to Johnny for reporting
+ these errors.
+
+Fri Jan 30 16:04:43 2004 Krishnakumar B <kitty@cse.wustl.edu>
+
+ * parser/parser/Parser.cpp: Rewrote a simple string manipulation
+ involving ACE_String_Base<char>::operator +() to use const char*
+ instead of char, so that we don't need an explicit template
+ instantiation for it.
+
+ * examples/SAXPrint/main.cpp: Added missing explicit template
+ instantiations for ACE_Auto_Basic_Ptr.
+
+ Thanks to Olli Savia <ops@iki.fi> for reporting problems with
+ explicit template instantiation on LynxOS.
+
+Thu Jan 8 18:40:34 2004 Krishnakumar B <kitty@nospam.invalid.domain>
+
+
+ * common/CharStream.h: Added a new rewind() method so that we can
+ reuse the same parser instance to parse the same file multiple
+ times.
+
+ * common/FileCharStream.cpp:
+ * common/HttpCharStream.h:
+ * common/HttpCharStream.cpp:
+ * common/StrCharStream.cpp:
+ * common/ZipCharStream.cpp:
+
+ Fixed implementation of rewind().
+
+ * common/Mem_Map_Stream.cpp:
+
+ Fixed memory leak caused by the Svc_Handler not getting deleted.
+
+ * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser:
+ * parser/parser/Makefile.ACEXML_Parser:
+ * examples/SAXPrint/Makefile.SAXPrint:
+ * common/Makefile.ACEXML:
+ * tests/Makefile.ContentHandler_Test:
+ * tests/Makefile.HttpCharStream_Test:
+ * tests/Makefile.NamespaceSupport_Test:
+ * tests/Makefile.Transcoder_Test:
+
+ Updated dependencies.
+
+ * examples/SAXPrint/main.cpp:
+
+ Added code to test the parser to parse the same file multiple
+ times. This still needs some cleaning.
+
+ * parser/parser/Entity_Manager.h:
+ * parser/parser/Entity_Manager.i:
+ * parser/parser/Entity_Manager.cpp:
+
+ Use a pointer to ACE_Hash_Map_Manager_Ex and delete it on every
+ reset() of the Entity_Manager. This should fix all the problems
+ with SIGFPE's when we try to recover from a parse error.
+
+ * parser/parser/Parser.cpp:
+ * parser/parser/ParserContext.h:
+ * parser/parser/ParserContext.inl:
+
+ Fixed memory leaks reported by Ken Sedgewick <ken@bonsai.com>.
+ This should fix Bugzill bug 1694. While at it, fix bugs in
+ handling of entity references in INCLUDE/IGNORE sections,
+ ATTLIST sections.
+
+
+Thu Dec 18 13:13:57 2003 Krishnakumar B <kitty@nospam.invalid.domain>
+
+ * common/Transcode.h (ACEXML_Transcoder):
+ * common/Transcode.cpp (ACEXML_Transcoder):
+
+ Renamed the ACEXML_Transcoder::STATUS enum to use ACEXML
+ prefixes. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for
+ reporting the clash with native #defines on Tru64.
+
+Sat Jul 19 18:38:50 UTC 2003 Don Hinton <dhinton@dresystems.com>
+
+ * apps/svcconf/Svcconf.h:
+ * common/*.h:
+ * parser/*.h:
+ * parser/parser/*.h:
+ Added "/**/" between the #include and filename for pre.h and
+ post.h so Doxygen won't include them in the file reference tree
+ graphs.
+
+Fri Jul 18 10:29:55 2003 Krishnakumar B <kitty@nospam.invalid.domain>
+
+ * tests/NamespaceSupport_Test.cpp (ACE_TMAIN): Added
+ initialization of ACEXML_NamespaceSupport so that we don't
+ crash.
+
+ * tests/ContentHandler_Test.cpp: Removed "</xml>" at the end of
+ the ACEXML_StrCharStream. XML is not HTML. Added a print
+ statement to the catch clause so that we know what is happening
+ when exception occurs.
+
+Mon Jul 14 18:49:01 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/svcconf/Makefile:
+ * common/Makefile:
+ * examples/SAXPrint/Makefile:
+ * parser/parser/Makefile:
+ * tests/Makefile:
+ Removed windows specific rules. They are not needed and only
+ cause problems when using a different command shell then cmd
+ like msys. This solves errors in the MinGW build.
+Sat Jul 5 13:33:36 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Makefile:
+ Removed windows specific rules. They are not needed and only
+ cause problems when using a different command shell then cmd
+ like msys. This solves errors in the MinGW build.
+
+Fri Jun 27 12:55:33 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * parser/parser/Entity_Manager.h:
+ * parser/parser/Entity_Manager.i:
+ Removed not useful const return qualifier to resolve intel
+ compiler warnings.
+
+Thu Jun 26 01:47:03 UTC 2003 Don Hinton <dhinton@dresystems.com>
+
+ * parser/parser/Parser.i:
+ Added (int) cast to table index to get rid of a warning.
+
+Tue Jun 24 23:31:44 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * apps/svcconf/Svcconf.cpp: Turned off validation temporarily when
+ handling svc.conf files. All of the converted svc.conf.xml
+ files do not have associate doctype at the moment.
+
+Tue Jun 24 15:38:49 UTC 2003 Don Hinton <dhinton@dresystems.h>
+
+ * common/NamespaceSupport.i:
+ Added include of ACE.h.
+
+Sun Jun 1 09:09:22 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * parser/parser/Parser.cpp:
+ * parser/parser/Entity_Manager.cpp: Added explicit template
+ instantiations.
+
+Fri May 30 14:16:33 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * examples/svcconf/.depend.Makefile.Svcconf:
+ * examples/svcconf/Makefile:
+ * examples/svcconf/Makefile.Svcconf:
+ * examples/svcconf/Makefile.Svcconf.bor:
+ * examples/svcconf/Makefile.bor:
+ * examples/svcconf/README:
+ * examples/svcconf/Svcconf.dsp:
+ * examples/svcconf/Svcconf.dsw:
+ * examples/svcconf/Svcconf.mpc:
+ * examples/svcconf/Svcconf_Handler.cpp:
+ * examples/svcconf/Svcconf_Handler.h:
+ * examples/svcconf/Svcconf_Handler.i:
+ * examples/svcconf/main.cpp:
+
+ Removed directories causing problems with Win XP release.
+
+ * ACEXML.dsw:
+ * Makefile:
+ * Makefile.bor:
+ * apps/svcconf/Makefile:
+ * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser.bor:
+ * apps/svcconf/Makefile.bor:
+ * common/Makefile:
+ * common/Makefile.ACEXML.bor:
+ * common/Makefile.bor:
+ * examples/SAXPrint/Makefile:
+ * examples/SAXPrint/Makefile.SAXPrint.bor:
+ * examples/SAXPrint/Makefile.bor:
+ * parser/parser/Makefile:
+ * parser/parser/Makefile.ACEXML_Parser.bor:
+ * parser/parser/Makefile.bor:
+ * tests/.depend.Makefile.ContentHandler_Test:
+ * tests/.depend.Makefile.HttpCharStream_Test:
+ * tests/.depend.Makefile.NamespaceSupport_Test:
+ * tests/.depend.Makefile.Transcoder_Test::
+ * tests/Makefile:
+ * tests/Makefile.ContentHandler_Test:
+ * tests/Makefile.ContentHandler_Test.bor:
+ * tests/Makefile.HttpCharStream_Test.bor:
+ * tests/Makefile.NamespaceSupport_Test.bor:
+ * tests/Makefile.Transcoder_Test.bor:
+ * tests/Makefile.bor:
+
+ More build related delicacies needed updating because of the
+ previous change.
+
+Fri May 30 13:56:40 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * common/XML_Common.dsp: Removed old dsp left over from previous
+ merge.
+
+Fri May 30 13:54:57 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * parser/parser/Parser.dsp: Removed this erroneous dsp file left
+ over from the merge.
+
+Fri May 30 13:50:11 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * common/ZipCharStream.h: Removed broken logic to undefine macro
+ version of read. We don't want read to be a macro in ACEXML.
+ Present because of brokenness in ZZIPLIB.
+
+Fri May 30 13:36:39 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * parser/parser/Parser.cpp (parse_ignoresect): Fixed a couple of
+ warnings. Break out of infinite loop.
+
+ * apps/svcconf/.depend.Makefile.ACEXML_XML_Svc_Conf_Parser:
+ * common/.depend.Makefile.ACEXML:
+ * examples/SAXPrint/.depend.Makefile.SAXPrint:
+ * examples/svcconf/.depend.Makefile.Svcconf:
+ * parser/parser/.depend.Makefile.ACEXML_Parser:
+
+ Added missing dependency files. This should clear out the red.
+
+ * examples/svcconf/main.cpp:
+ * common/HttpCharStream.cpp:
+ * parser/parser/Parser.i:
+
+ Fixed warnings with BCB. Thanks to Johnny for reporting these.
+
+Thu May 29 23:13:40 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * examples/SAXPrint/SAXPrint_Handler.cpp: Fixed some minor
+ warnings.
+
+Thu May 29 23:09:27 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * parser/parser/Makefile.Parser:
+
+ Removed extra file left over by mistake.
+
+Thu May 29 23:00:24 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * tests/Makefile.ContentHandler_Test:
+ * tests/Makefile:
+
+ This file got left out by mistake during the big merge.
+
+Thu May 29 22:03:40 2003 Krishnakumar B <kitty@spam.invalid.domain>
+
+ * ACEXML.mwc:
+ * ChangeLog:
+ * apps/svcconf/ACEXML_XML_Svc_Conf_Parser.dsp:
+ * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser:
+ * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser.bor:
+ * common/ACEXML.dsp:
+ * common/Makefile.ACEXML:
+ * common/Makefile.ACEXML.bor:
+ * examples/SAXPrint/Makefile.SAXPrint:
+ * examples/SAXPrint/Makefile.SAXPrint.bor:
+ * examples/svcconf/Makefile:
+ * examples/svcconf/Makefile.Svcconf:
+ * examples/svcconf/Makefile.Svcconf.bor:
+ * examples/svcconf/Svcconf.mpc:
+ * parser/parser/ACEXML_Parser.dsp:
+ * parser/parser/Makefile.ACEXML_Parser:
+ * parser/parser/Makefile.ACEXML_Parser.bor:
+ * parser/parser/Makefile.Parser:
+ * tests/Makefile.ContentHandler_Test.bor:
+ * tests/Makefile.HttpCharStream_Test:
+ * tests/Makefile.HttpCharStream_Test.bor:
+ * tests/Makefile.NamespaceSupport_Test:
+ * tests/Makefile.NamespaceSupport_Test.bor:
+ * tests/Makefile.Transcoder_Test:
+ * tests/Makefile.Transcoder_Test.bor:
+
+ New files to build ACEXML generated using MPC.
+
+ * apps/svcconf/svcconf.dtd:
+
+ Moved the DTD from a hidden location to a prominent one.
+
+ * examples/SAXPrint/namespaces.xml:
+
+ New file to test namespace support.
+
+ * common/ZipCharStream.cpp:
+ * common/ZipCharStream.h:
+
+ New files to support reading files from within a ZIP archive as
+ a stream.
+
+ * parser/parser/ParserContext.cpp:
+ * parser/parser/ParserContext.h:
+ * parser/parser/ParserContext.inl:
+
+ New files to support a per stream context encountered when
+ parsing references.
+
+ * parser/parser/ParserInternals.cpp:
+ * parser/parser/ParserInternals.h:
+
+ Move some common functions from Parser.cpp to these files.
+
+ * ACEXML.dsw:
+ * Makefile:
+ * Makefile.bor:
+ * apps/svcconf/Makefile:
+ * apps/svcconf/Makefile.bor:
+ * common/Makefile:
+ * common/Makefile.bor:
+ * examples/SAXPrint/Makefile:
+ * examples/SAXPrint/Makefile.bor:
+ * examples/SAXPrint/SAXPrint.dsp:
+ * examples/SAXPrint/SAXPrint.mpc:
+ * examples/svcconf/Makefile.bor:
+ * examples/svcconf/Svcconf.dsp:
+ * parser/parser/Makefile:
+ * parser/parser/Makefile.bor:
+ * tests/ContentHandler_Test.cpp:
+ * tests/ContentHandler_Test.dsp:
+ * tests/HttpCharStream_Test.cpp:
+ * tests/HttpCharStream_Test.dsp:
+ * tests/Makefile:
+ * tests/Makefile.bor:
+ * tests/NamespaceSupport_Test.dsp:
+ * tests/Transcoder_Test.dsp:
+
+ Build related files changed with the introduction of MPC to
+ build ACEXML.
+
+ * examples/SAXPrint/ns.svc.conf.xml:
+ * examples/SAXPrint/svc.conf.xml:
+
+ New files to test specific features of the parser.
+
+ * apps/svcconf/Svcconf.cpp:
+ * common/Attributes.h:
+ * common/Attributes_Def_Builder.h:
+ * common/CharStream.h:
+ * common/DefaultHandler.cpp:
+ * common/Encoding.cpp:
+ * common/Encoding.h:
+ * common/Exception.cpp:
+ * common/FileCharStream.cpp:
+ * common/FileCharStream.h:
+ * common/HttpCharStream.cpp:
+ * common/HttpCharStream.h:
+ * common/InputSource.cpp:
+ * common/InputSource.h:
+ * common/LocatorImpl.cpp:
+ * common/LocatorImpl.h:
+ * common/Mem_Map_Stream.cpp:
+ * common/NamespaceSupport.cpp:
+ * common/NamespaceSupport.h:
+ * common/SAXExceptions.cpp:
+ * common/StrCharStream.cpp:
+ * common/StrCharStream.h:
+ * common/StreamFactory.cpp:
+ * common/Transcode.cpp:
+ * common/Transcode.h:
+ * common/Transcode.i:
+ * examples/SAXPrint/Print_Handler.cpp:
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+ * examples/SAXPrint/main.cpp:
+ * examples/svcconf/main.cpp:
+ * parser/parser/Parser.cpp:
+ * parser/parser/Parser.h:
+ * parser/parser/Parser.i:
+ * parser/parser/Entity_Manager.cpp:
+ * parser/parser/Entity_Manager.h:
+ * parser/parser/Entity_Manager.i:
+
+ Merge from the Validator branch. It is not close to conformance
+ related to Validation but is quite stable as a parser which
+ recognizes the complete XML grammar.
+
+Fri Jan 24 20:28:22 2003 Krishnakumar B <kitty@insanely.long.id.truncated>
+
+ * parser/parser/Parser.cpp (pop_context): Bail out if there is
+ only one element on the context stack. Bad things [TM] will happen
+ if we pop the only context available.
+
+Mon Nov 25 04:25:15 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * parser/parser/Parser.cpp (reset):
+ * parser/parser/Parser.h:
+
+ Fixed a bunch of compilation errors. Removed unnecessary
+ creation and destroyal of ACEXML_Strings which seems to speed up
+ the parser quite a bit.
+
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+ * examples/SAXPrint/main.cpp:
+
+ Don't report startPrefixMapping() and endPrefixMapping() as they
+ obstruct the pretty-printing of SAXPrint. They are bogus anyway.
+
+Wed Nov 20 22:58:12 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * parser/parser/Parser.cpp (parse_char_reference):
+
+ Fixed stupid thinko in conditional parsing of a hex character
+ reference.
+
+ * common/Mem_Map_Stream.cpp:
+
+ We can use the old way of fetching on-demand and don't need to
+ use a while loop.
+
+ * common/NamespaceSupport.cpp:
+
+ Fixed a long-standing bug with core dumping. With these changes,
+ we are able to parse the XML specification itself. Is this
+ called Meta or what ?
+
+Wed Nov 20 20:44:56 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * common/Mem_Map_Stream.cpp (grow_file_and_remap):
+
+ Fixed bug where we were trying to remap two different files at
+ the same location without closing the first.
+
+ * common/HttpCharStream.cpp (get_url):
+
+ Don't try to parse an empty file. Removes a nasty SIGSEGV.
+
+Wed Nov 20 01:06:26 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * common/Mem_Map_Stream.cpp:
+
+ Minor indenting changes.
+
+ * tests/HttpCharStream_Test.cpp:
+
+ Modified test to show bug in ACE_File_Addr.
+
+Tue Nov 19 20:46:35 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * examples/SAXPrint/Print_Handler.cpp (warning):
+
+ Missed syncing the function prototypes last time.
+
+Tue Nov 19 20:18:09 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * parser/parser/Parser.h:
+ * parser/parser/Parser.cpp (normalize_systemid):
+
+ Fix an off-by-one error in normalization. The document's base
+ URI is never empty. Now we parse relative document URI
+ correctly.
+
+ Implement the previously unimplemented parsing from a systemId.
+
+ * common/InputSource.cpp:
+ * common/InputSource.h:
+
+ Implement creating an InputSource from a systemId.
+
+ * common/CharStream.h:
+
+ Added a new method getSystemId().
+
+ * common/FileCharStream.cpp:
+ * common/FileCharStream.h:
+ * common/HttpCharStream.cpp:
+ * common/HttpCharStream.h:
+ * common/ZipCharStream.cpp:
+ * common/ZipCharStream.h:
+ * common/StrCharStream.cpp:
+ * common/StrCharStream.h:
+
+ Added implementation for getSystemId().
+
+ * examples/SAXPrint/Print_Handler.cpp:
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+
+ Synched up the printing of exception messages.
+
+ * examples/SAXPrint/main.cpp:
+
+ Fixed broken internal string version of a sample XML file.
+
+Tue Nov 19 15:02:06 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * apps/svcconf/XML_Svc_Conf_Parser.dsp:
+ * common/XML_Common.dsp:
+ * examples/SAXPrint/SAXPrint.dsp:
+ * parser/debug_validator/Debug_Validator.dsp:
+ * parser/parser/Parser.dsp:
+
+ Modified to accomodate zlib and zziplig. Will probably change
+ before the merge.
+
+ * parser/parser/Parser.cpp:
+
+ Try to parse external DTD only if validation is required.
+
+Mon Nov 18 22:29:39 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * Makefile:
+
+ Deleted this file in the previous check-in. Re-add it.
+
+Mon Nov 18 22:19:47 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * common/common.mpc:
+ * parser/parser/parser.mpc:
+ * parser/debug_validator/validator.mpc:
+ * apps/svcconf/svcconf.mpc:
+ * examples/svcconf/Svcconf.mpc:
+ * examples/SAXPrint/saxprint.mpc:
+ * tests/tests.mpc:
+ * ACEXML.mwc:
+
+ New MPC files and Workspace file.
+
+ * common/Makefile.XML_Common:
+ * apps/svcconf/Makefile.XML_Svc_Conf_Parser:
+ * parser/parser/Makefile.Parser:
+ * parser/debug_validator/Makefile.Validator:
+ * examples/SAXPrint/Makefile.SAXPrint:
+ * examples/svcconf/Makefile.Svcconf:
+ * tests/Makefile.HttpCharStream_Test:
+ * tests/Makefile.NamespaceSupport_Test:
+ * tests/Makefile.Transcoder_Test:
+
+ New Makefiles generated by MPC.
+
+ * common/Makefile:
+ * parser/parser/Makefile:
+ * parser/Makefile:
+ * examples/Makefile:
+ * apps/Makefile:
+ * apps/svcconf/Makefile:
+ * examples/SAXPrint/Makefile:
+ * tests/Makefile:
+
+ Removed old Makefiles.
+
+ * parser/parser/Parser.cpp:
+ * common/StreamFactory.cpp:
+ * common/ZipCharStream.cpp:
+ * common/ZipCharStream.h:
+
+ Fixed compilation errors.
+
+Mon Nov 18 20:30:30 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * common/CharStream.h:
+ * common/Encoding.cpp:
+ * common/FileCharStream.cpp:
+ * common/FileCharStream.h:
+ * common/StrCharStream.cpp:
+ * common/StrCharStream.h:
+ * common/HttpCharStream.cpp:
+ * common/HttpCharStream.h:
+
+ Fixed a number of minor typos and debugging statements.
+
+ * common/LocatorImpl.cpp: Check for a valid string before
+ assigning it to the new Locator.
+
+ * common/NamespaceSupport.cpp:
+
+ Make sure that we don't have a null prefix before trying to
+ dereference the prefix.
+
+ * common/ZipCharStream.cpp:
+ * common/ZipCharStream.h:
+
+ New stream which reads files from a ZIP archive.
+
+ * common/StreamFactory.cpp:
+
+ Modified to accomodate ZipCharStream.
+
+ * examples/SAXPrint/Print_Handler.cpp:
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+ * examples/SAXPrint/main.cpp:
+
+ Commented out a lot of unnecessary debug statements.
+
+ * parser/parser/Parser.cpp:
+ * parser/parser/Parser.h:
+
+ Lots of bugfixes. Finally we parse the XML version of XHTML
+ specification without dumping core.
+
+Sat Nov 16 21:18:55 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * parser/parser/Parser.cpp:
+ * parser/parser/Parser.h:
+
+ More bugs fixed. Add support for parsing PE references within
+ attribute list declarations and clean up the same. Add support
+ for parsing PE references within element declarations.
+
+Tue Nov 12 19:48:34 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * parser/parser/ParserContext.cpp:
+ * parser/parser/ParserContext.h:
+ * parser/parser/ParserContext.inl:
+
+ New files which hold the ParserContext needed to handle the
+ switching of input streams on the fly.
+
+ * parser/parser/ParserInternals.cpp:
+ * parser/parser/ParserInternals.h:
+
+ Moved some generic code from Parser.cpp to here.
+
+ * apps/svcconf/Makefile:
+ * common/Makefile:
+ * parser/parser/Makefile:
+
+ Updated dependencies.
+
+ * common/Attributes_Def_Builder.h:
+
+ No need to typedef in C++.
+
+ * common/DefaultHandler.cpp:
+
+ Minor typos.
+
+ * common/Encoding.cpp:
+
+ If auto-detection of encoding fails, assume that it is UTF-8.
+
+ * common/Exception.cpp:
+
+ Change the error message from ACE_DEBUG to ACE_ERROR.
+
+ * common/FileCharStream.cpp: Handle BOM of UTF-8 in
+ addition to UTF-16. Cleanup unnecessary parens.
+
+ * common/HttpCharStream.cpp:
+ * common/HttpCharStream.h:
+
+ Add support for auto-detection of encoding.
+
+ * common/InputSource.cpp:
+ * common/InputSource.h:
+
+ Fixes for use with ACEXML_Parser_Context.
+
+ * common/LocatorImpl.cpp:
+ * common/LocatorImpl.h:
+
+ Fixed bug in copy constructor which resulted in locator
+ information not getting set properly.
+
+ * common/NamespaceSupport.cpp:
+ * common/NamespaceSupport.h:
+
+ Implement reset() method.
+
+ * common/SAXExceptions.cpp:
+
+ Change the error message from ACE_DEBUG to ACE_ERROR.
+
+ * common/StrCharStream.cpp:
+
+ Handle copying of bytes according to sizeof (ACE_WCHAR).
+
+ * common/StreamFactory.cpp: Create the appropriate stream
+ given an URI. We don't try to normalize the URI here. It is done
+ in the Parser.
+
+ * common/Transcode.cpp:
+ * common/Transcode.i:
+
+ Moved some very big functions from .i to .cpp.
+
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+ * examples/SAXPrint/main.cpp:
+
+ Updates to reflect the new calling convention in the Parser.
+
+ * parser/parser/Entity_Manager.cpp:
+ * parser/parser/Entity_Manager.h:
+ * parser/parser/Entity_Manager.i:
+
+ Implemented support for resolving SYSTEM and PUBLIC ids from
+ the Entity_Manager.
+
+ * parser/parser/Parser.cpp:
+ * parser/parser/Parser.h:
+ * parser/parser/Parser.i:
+
+ Implemented support for external parameter and entity
+ references. Rewrote a lot of the basic parsing functionality to
+ adhere to the standard. Implment partial support for validation
+ of XML files.
+
+
+Fri Oct 25 15:44:04 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * parser/parser/Parser.i: Handle end-of-line as required by
+ the spec. Specifically any sequence of 0x0D or 0x0D 0x0A should
+ be normalized to a 0x0A before passing to the XML processor.
+
+ * parser/parser/Parser.cpp: Remove checks for 0x0D as it is
+ handled tranparently now.
+
+Thu Oct 24 21:06:44 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * common/NamespaceSupport.cpp: Define strings normally and
+ not as an array.
+
+ * common/Attributes_Def_Builder.h: No need to typedef in C++.
+
+Thu Oct 24 01:52:46 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ACEXML\parser\parser\Parser.cpp: Moved out the declaration of
+ variables outside case labels. MSVC doesn't like it.
+
+Wed Oct 23 22:24:59 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * parser/parser/Parser.cpp: Fixed a stupid thinko in array
+ initialization.
+
+Wed Oct 23 17:27:14 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * common/Encoding.cpp:
+ * common/Encoding.h:
+
+ Use UTF-16 instead of UTF-16LE/UTF-16BE as the specification
+ doesn't require mentioning the endianness of the input.
+
+ * common/Transcode.h: Fixed some minor typos.
+
+ * examples/SAXPrint/namespaces.xml: New file which tests
+ out the namespaces feature much better.
+
+ * apps/svcconf/Makefile:
+ * parser/parser/Makefile:
+
+ Updated dependencies.
+
+ * parser/parser/ParserErrors.h: New file which contains the
+ error codes of all the error spit out by the parser.
+
+ * examples/SAXPrint/Print_Handler.cpp:
+ * examples/SAXPrint/SAXPrint_Handler.cpp:
+
+ Make sure that the characters() function describes the arguments
+ as start and length instead of start and end.
+
+ * parser/parser/Parser.dsp: Added ParserErrors.h to the
+ project file.
+
+ * parser/parser/Parser.cpp:
+ * parser/parser/Parser.h:
+
+ Use minor codes when reporting error in the parser. This cleans
+ up a lot of repeated error messages and indenting so that we
+ don't need to spill over 80 columns and have a standardized way
+ of reporting errors. Rewrote parse_cdata() so that is is much
+ simpler. Removed try_grow_cdata() as it is no longer needed.
+ Handle the case when the parser was accepting invalid character
+ references().
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/ACE/ChangeLogs/ChangeLog-ASNMP b/ACE/ChangeLogs/ChangeLog-ASNMP
new file mode 100644
index 00000000000..dc7d1030a9c
--- /dev/null
+++ b/ACE/ChangeLogs/ChangeLog-ASNMP
@@ -0,0 +1,570 @@
+Fri Sep 9 09:39:47 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * README:
+ * asnmp/transaction.h:
+ * asnmp/wpdu.cpp:
+ Layout/doxygen changes
+
+Wed Sep 7 09:13:29 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * README:
+ * agent/agent_impl.h:
+ * asnmp/address.h:
+ * asnmp/counter.h:
+ * asnmp/gauge.h:
+ * asnmp/integer.h:
+ * asnmp/pdu.h:
+ * asnmp/sagent.h:
+ * asnmp/smival.h:
+ * asnmp/snmp.cpp:
+ * asnmp/target.h:
+ * asnmp/timetick.h:
+ * asnmp/transaction.h:
+ * asnmp/wpdu.h:
+ * examples/trap/trap.cpp:
+ Layout changes
+
+Mon Apr 6 09:57:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * asnmp/wpdu.cpp:
+ Added support for Gauge32, thanks to Shai Kedem
+ <shai_kedem at hotmail dot com> for reporting this
+
+Wed Mar 8 10:46:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * asnmp/*.h:
+ Converted to doxygen style of documentation
+
+Wed Jan 4 22:47:13 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Untabify.
+ Delete-trailing-whitespace.
+
+ Added "Local Variables" section defining "add-log-time-format"
+ to a really ugly lambda expression that formats changelog
+ timestamps in UTC and works with both GNU Emacs and XEmacs.
+
+Fri Dec 30 11:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * asnmp/transaction.cpp:
+ Updated because the ACE_Time_Value constructors are now explicit
+
+Fri Dec 23 09:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * asnmp/address.{h,cpp}:
+ Added LEN as postfix for HASH0, HASH1 and HASH2. VxWorks 6.1 PPC
+ defines HASH1 and HASH2
+
+Wed Oct 5 10:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * asnmp/asn1.cpp:
+ * asnmp/pdu.cpp:
+ Fixed might be used uninitialized warnings in MinGW build
+
+Fri Jul 15 10:12:19 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * Removed the asnmp.mwc file so that it can be regenerated by MPC
+ automatically. Thanks to Sam Mesh <sam.mesh@gmail.com> for
+ reporting this. This fixes bugid 2190.
+
+Sun Oct 3 20:12:43 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * asnmp/oid.cpp:
+
+ Fixed a double deletion problem reported by Shlomi Yaakobovich.
+
+Thu Sep 30 10:54:39 2004 Steve Huston <shuston@riverace.com>
+
+ * examples/get/get.cpp:
+ * examples/get/get_async.cpp:
+ * examples/next/next.cpp:
+ * examples/set/set.cpp:
+ * examples/trap/trap.cpp:
+ * examples/walk/walk.cpp: Added #include "ace/Argv_Type_Converter.h".
+
+Wed Sep 29 15:33:29 2004 Steve Huston <shuston@riverace.com>
+
+ * asnmp/sagent.cpp:
+ * agent/snmp_agent.cpp:
+ * examples/get/get.cpp:
+ * examples/get/get_async.cpp:
+ * examples/next/next.cpp:
+ * examples/set/set.cpp:
+ * examples/trap/trap.cpp:
+ * examples/walk/walk.cpp:
+ * tests/test_config.h:
+ * tests/Address_Test.cpp:
+ * tests/Counter64_Test.cpp:
+ * tests/Counter_Test.cpp:
+ * tests/Gauge_Test.cpp:
+ * tests/Integer_Test.cpp:
+ * tests/Octet_Test.cpp:
+ * tests/Oid_Test.cpp:
+ * tests/Target_Test.cpp:
+ * tests/Varbind_Test.cpp: Adjustments to build with wide-char.
+
+Fri Aug 6 08:14:12 2004 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * asnmp/transaction.{h,cpp}: Added a get_handle() call to
+ session. Thanks to Geo Sebastian <geosebastian@onmobile.com>
+ for this fix.
+
+Fri May 7 14:42:22 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Counter_Test.cpp (TestCounter):
+ * tests/Gauge_Test.cpp (TestGuage):
+ * tests/Integer_Test.cpp (TestUnsignedInteger32):
+
+ More "comparison between signed and unsigned integer"
+ warning fixes.
+
+Thu May 6 11:03:26 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Counter_Test.cpp (TestCounter):
+ * tests/Counter64_Test.cpp (TestCounter64):
+ * tests/Gauge_Test.cpp (TestGuage):
+ * tests/Integer_Test.cpp (TestUnsignedInteger32):
+
+ Fixed "comparison between signed and unsigned integer"
+ warnings.
+
+Mon Apr 26 18:37:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/get/get.cpp:
+ * examples/get/get_async.cpp:
+ * examples/next/next.cpp:
+ * examples/set/set.cpp:
+ * examples/trap/trap.cpp:
+ * examples/walk/walk.cpp:
+ Don't use deprecated methods of ACE_Get_Opt and ACE_Reactor
+
+Mon Apr 26 15:14:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/trap/purify4.1.txt:
+ Removed this file, it contains purify results and shouldn't
+ belong in the repo.
+
+Thu Apr 22 20:45:27 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Octet_Test.cpp:
+ * tests/Oid_Test.cpp:
+
+ Changed all return types for equality, relational and logical
+ operators to "bool", as is the norm for modern C++.
+
+Fri Apr 16 16:53:20 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Gauge_Test.cpp (TestGuage):
+ * tests/Integer_Test.cpp (TestInteger32, TestUnsignedInteger32):
+
+ Fixed some "comparison between signed and unsigned integer"
+ warnings.
+
+Mon Mar 29 06:56:11 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Integer_Test.cpp:
+ Fixed a warning in Win32 builds.
+
+Fri Mar 26 09:49:10 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tests/Integer_Test.cpp:
+
+ Fixed a warning in Win32 builds.
+
+Fri Aug 29 07:56:19 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Octet_Test.cpp (TestOctet):
+
+ Fixed "string literal converted to char *" warning. String
+ literals are now considered "const" by standard C++.
+
+Sun Nov 24 17:04:33 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * agent/main.cpp (main): Added ACE::init() to the beginning of
+ main() to prevent crashes on Windows. Thanks to Huseyin Calgin
+ <calgin@yahoo.com> for reporting this.
+
+Fri Feb 8 04:42:21 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * asnmp/transaction.cpp (run): Changed the code to use ACE_Reactor::instance ()
+ rather than a local ACE_Reactor on the stack. Thanks to Paresh
+ Raote <p_raote@yahoo.com> for reporting this.
+
+Thu Jan 25 12:48:33 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * agent/Makefile.orig
+ asnmp/address.h.orig
+ examples/next/next.cpp
+ examples/trap/trap.cpp
+ examples/walk/walk.cpp
+ tests/test_config.h
+ tests/Varbind_Test.cpp
+ tests/Counter64_Test.cpp
+ tests/run_tests.sh
+
+ New agent Makefile, and compilation fixes.
+
+Sun Jun 4 14:51:33 2000 Darrell Brunsch <brunsch@uci.edu>
+
+ * asnmp-overview.html:
+
+ Added missing CVS Id string.
+
+Tue Dec 21 16:22:21 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * tests/*.cpp: removed the unnecessary explicit template
+ instantiation. Other instantiations were necessary
+ with it, and it seemed to serve no useful purpose:
+ there was no use of an ACE_Unbounded_Set<Log_Msg *>.
+ Thanks to Jose Rubio <jrubio@tr.comm.mot.com> for
+ reporting link failures with Sun CC 5.0, with explicit
+ template instantiation enabled.
+
+ * tests/test_config.h: added #include of "ace/ACE.h",
+ because the file uses it later. g++ 2.91.66 on Linux
+ needed it.
+
+Wed Jul 14 08:26:42 1999 Brian Raven <brianr@liffe.com>
+
+ * asnmp/snmp.{h,cpp},wpdu.cpp:
+ SYNOPSIS:
+ 1) The agent IP address in traps originating from logical
+ domains on an Enterprise 10000 is that of the physical domain.
+
+ 2) The code that gets the IP address uses gethostbyname
+ which is unsafe in a MT environment (according to the man page).
+
+ DESCRIPTION:
+ 1) The problem seems to be caused by hostname only returning
+ the physical domain name.
+
+ SAMPLE FIX/WORKAROUND:
+ 1) To get around this problem I added the capability to
+ override the local host name.
+
+ 2) I would suggest using the GenAddress class to obtain the
+ IP address.
+
+Tue Jun 22 13:34:54 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * agent/Makefile: replaced rm -f with $(RM).
+
+Thu Apr 29 06:46:46 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * tests/Makefile: changed SRC to PSRC (for make depend).
+ Thanks to Sandeep Goyal <sagoyal@hss.hns.com> for reporting
+ that the Makefile was broken.
+
+Mon Dec 28 22:03:57 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * agent/main.cpp: added #include "ace/inc_user_config.h", for
+ ACE_RCSID definition. Thanks to wym <wym@dekang.com> for
+ reporting that it won't compile without it.
+
+Tue Oct 27 08:52:05 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * asnmp/Makefile,tests/Makefile: added SRC definition for make depend, and updated dependencies.
+
+Mon Aug 3 17:50:08 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
+
+ * examples/get/get_async.cpp:
+ * examples/get/get.cpp:
+ Added ACE_RCSID to these files.
+
+Fri Jul 31 19:26:07 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
+
+ * examples/Makefile:
+ It had a missing info subdirectory.
+
+ * agent/agent_impl.cpp:
+ * agent/main.cpp:
+ * agent/snmp_agent.cpp:
+ * asnmp/address.cpp:
+ * asnmp/asn1.cpp:
+ * asnmp/counter.cpp:
+ * asnmp/ctr64.cpp:
+ * asnmp/gauge.cpp:
+ * asnmp/integer.cpp:
+ * asnmp/octet.cpp:
+ * asnmp/oid.cpp:
+ * asnmp/pdu.cpp:
+ * asnmp/sagent.cpp:
+ * asnmp/snmp.cpp:
+ * asnmp/target.cpp:
+ * asnmp/timetick.cpp:
+ * asnmp/transaction.cpp:
+ * asnmp/vb.cpp:
+ * asnmp/wpdu.cpp:
+ * examples/get/get.cpp:
+ * examples/next/next.cpp:
+ * examples/set/set.cpp:
+ * examples/trap/trap.cpp:
+ * examples/walk/walk.cpp:
+ * tests/Address_Test.cpp:
+ * tests/Counter64_Test.cpp:
+ * tests/Counter_Test.cpp:
+ * tests/Gauge_Test.cpp:
+ * tests/Integer_Test.cpp:
+ * tests/Octet_Test.cpp:
+ * tests/Oid_Test.cpp:
+ * tests/Target_Test.cpp:
+ * tests/Varbind_Test.cpp:
+ Added ACE_RCSID to these files.
+
+Wed Jul 15 20:34:55 CDT 1998
+ * general fixes for SNMPv1 trap generation code reported by
+ Hien Nguyen <hnguyen@adcapex.com> and Jeff Hall <jeff@liffe.com>
+ Added Hien's fixes, plus fixed -c option
+ in examples/trap to properly set community string.
+ * release 2.0
+
+Fri Jan 30 15:29:42 CST 1998
+ * fix vb.cpp to handle Gauge/uInt the same way. While retrieving
+ ifTable found the bug.
+
+Wed Dec 10 12:09:36 CST 1997
+ * sagent.cpp, Eric Newton fix. result not checked. v1.8
+
+Mon Dec 8 14:33:59 CST 1997
+ * Thanks to Eric Newton's <ecn@smart.net> continued patches
+ Version 1.7 has fixes for: agent, base library
+ Fix to the response type fixes the interoperability with CMU snmp on
+ linux. (and SNMP Research as well)
+
+ Initialize member of Pdu: output_
+ Send responses as response messages
+ Deallocate and reset the io_vec
+
+ The transaction object didn't initialize the io_vec used to receive
+ a packet when it was used for an agent transaction.
+
+ Cleans up a warning about using a const object from a previous
+ patch.
+
+ Removes the transaction object from the Reactor.
+
+
+Sun Nov 30 17:49:12 CST 1997 Mike MacFaden <mrm@tango.cs.wustl.edu>
+ * Thanks to Eric Newton's <ecn@smart.net> apply patches:
+ Removed G++ warnings:
+ Removed unused variables
+ Cleaned up unused args to functions
+ Initialized variables
+ Inserted casts in *printf* functions
+ Added int return types to function definitions
+ Converted some variables from int to size_t to cut down on
+ sign comparison warnings
+ Reordered constructor initializer lists
+ Added return statements to functions returning int
+
+ Modified for G++ language differences:
+ Modified for loops for ANSI scoping rules
+
+ Fixed Bugs:
+ Deleted incorrect (cut-n-pasted) header to transaction.h
+ Removed "assignment in if condition" error
+ Added missing "break;" in switch statement in wpdu
+
+ Features:
+ Added async interface.
+
+ Noise:
+ Modified makefiles for g++ on Linux RedHat 4.1
+
+ * The new async interface has a test example in examples/get/get_async.cpp
+ that is useful if you are extending the get application.
+
+ * Fixed makefile to include -lasnmp when building tests/examples
+
+ * Compile and test with ACE 4.4 on Solaris 2.5.1 using Sun CC 4.2
+ no warnings/errors. get_async will sigbus however in destructors.
+
+Thu Sep 4 18:56:12 1997 Mike MacFaden <mrm@tango.cs.wustl.edu>
+
+ * commit agent/ mibs/ and update asnmp/ with sagent.h, cpp
+ to implement a trivial SNMPv1 agent that hard codes support
+ for mib II system group only.
+
+Fri Aug 22 23:43:20 1997 Mike MacFaden <mrm@tango.cs.wustl.edu>
+
+ * clean up two memory leaks in octet class and one umr
+
+Thu Aug 21 20:59:23 1997 Mike MacFaden <mrm@tango.cs.wustl.edu>
+
+ * Added Netbios address support to GenAddress
+ and added DecNetAddress, AppleTalkAddress classes per CISCO-TC.my
+ (ftp://ftp.cisco.com/pub/mibs)
+
+Tue Aug 19 20:19:32 1997 Michael R. MacFaden <mrm@mrm-ss20.cisco.com (Michael R. MacFaden)>
+ * change IpAddress::is_arpa() to is_private() and update the comments
+ per RFC 1597. Add new test routine to verify this function in
+ tests/Address_Test.cpp
+
+ * add IpAddress::to_octet(OctetStr& val) which is useful when having to
+ send a network address as an Octet String as in CISCO-PING-MIB.my
+
+Tue Aug 5 12:12:39 1997 Mike MacFaden (mrm@mrm-ss20)
+ * Thanks to Amos Shapira <amos@gezernet.co.il> apply patches
+ to support IRIX 6.3. Stated request for:
+ I think it would make things "righter" to make the code use C++
+ strings (and maybe vectors?).
+
+ * Begin testing on HP-UX 10.01 (missing ucontext.h)
+
+Sat Aug 2 12:07:43 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * Started to integrate the code into a more ACE-like style, e.g.,
+ added a the "asnmp/" prefix to all the header files so that we
+ don't need to play games with the -I flags and so we can always
+ know where we're getting the headers from.
+
+Fri Aug 1 19:23:52 1997 Mike MacFaden (mrm@mrm-ss20)
+
+ * NOTES: This first version only tested on Solaris 2.5
+
+ * review classes for thread safety. Current thread design only
+ allows for one thread to safely access any ASNMP object created.
+
+ * run purify test of get routine no -memory leaks.
+
+ * verify both shared archive/static archive types work with
+ example programs
+
+ * << Globals Changes >>
+
+ * tested only archiver library version
+
+ * reformat code to use one brace style.
+
+ * changed all manifest constants defined as _XX to XX_ to stay out
+ of compiler namespace
+
+ * change all OS calls to use ACE_OS:: portability layer, #include
+ <ace/OS.h>
+
+ * reformat code to use one consistent brace layout and redo
+ header using ACE
+
+ * remove semicolons on member functions foo{}; - not necessary
+
+ * make get() methods const member functions
+
+ * removed unnecessary casts that looked like this: and revamped
+ all memory allocations via ACE_NEW macro
+
+ new_oid = (SmiLPUINT32) new unsigned long [ smival.value.oid.len
+
+ To
+
+ ACE_NEW(new_oid, SmiUINT32[ smival.value.oid.len])
+
+ * Collapsed default constructors with constructors to constructors
+ with default arguments.
+
+ * removed unused #include <iostream.h>
+
+ * Added ACE_TRACE() to classes
+
+ * change get_printable() to to_string() - there will be more java
+ programmers in the future so this should be the first step...
+
+ * removed ASYNC interface till it can be rebuilt using ACE patterns
+
+ * Attempt to make interface more type strict but leaving generic
+ interfaces as escape hatch. Example: CTarget becomes UdpTarget
+ for UDP/IP based agents.
+
+ * << Class Specific Changes >>
+
+ * Oid class:
+ - remove char * routines, simplify class
+ - added suboid method and removed get_printable() overloads
+
+ * CTarget class:
+ - renamed to UdpTarget. Stay out of Microsoft Namespace per MSJ
+ Article by Allen Hollub.
+
+ * Varbind class:
+ - remove generic set_value for char,int, etc. Too easy to get
+ this wrong. Allow just types defined.
+ - added overload for equality operator (==)
+ - added new constructor to allow setting full vb state oid,value, exception
+ - add to_string()
+
+ * Address class:
+ - change manifest constants to enums for address lengths, add IP V6 lens
+
+ - add a netbios name class, still pretty worthless since I don't have spec
+ in front of me yet...
+
+ - rewrite resolver calls to be thread safe and cleaner by moving to two
+ class (static) member functions:
+
+ // thread safe routine to lookup ip address given hostname
+ // return <> 0 on error
+ static int resolve_to_addr(const char *hostname, in_addr& quad_addr);
+
+ // thread safe routine to lookup name given ip address
+ // return <> 0 on error
+ static int resolve_to_hostname(const in_addr& quad_addr, char *hostname)
+
+ * added some interrogation routines to class IpAddress:
+ is_loopback() const;
+
+ * Ctr64 class:
+ - added constructor using long long datatype (needs to be made
+ portable to NT
+
+ * Pdu class: add to_string()
+
+ * Classes added wpdu class:
+ - a new adpater class between CMU and HP pdu, varbind data structures
+
+ * transaction class:
+ - implement get/getnext timeout and retry logic using ACE
+ Reactor class, ACE_Time_Value
+
+Sat Jul 5 19:13:30 1997 Mike MacFaden (mrm@mrm-ss20)
+
+ * unpacked snmp++.tar.Z into ACE_wrappers, remove X11 support. If
+ you need GUI support in a communications package, something's
+ wrong, very wrong....
+
+ * Change HP-UX Makefiles to use ACE makefile system
+
+ * Change includes to use ACE OS Adaption Layer
+
+ * change all OS calls to use ACE_OS:: versions
+
+ * Add ACE_TRACE macros to all functions.
+
+ * clean up the global namespace by puting all global functions
+ into C++ classes as static member functions and make public only
+ those that are used (uxsnmp.cpp, eventlist.cpp)
+
+ * create README from readme.txt, COPYRIGHT files.
+
+ * create tests/ directory rename ConsoleExamples to examples
+
+ * cull out dead code modules and dump them into misc dir:
+ oidname.cpp, ipresolv.cpp
+
+ * ipresolv.cpp had broken hostname buffer size (200), when DNS has
+ aways defined a max FQDN as 256...go figure.
+
+ * add General Error handler since existing ones are not very
+ useful in and of themselves.
+
+ * change all _DEF to DEF_ since _ANYTHING is reserved for compiler
+ writer namespace, NOT app writer
+
+ * convert cmu code to use C++ new/delete from malloc/free so
+ entire library uses C++ new constructor
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/ACE/ChangeLogs/ChangeLog-FOCUS b/ACE/ChangeLogs/ChangeLog-FOCUS
new file mode 100644
index 00000000000..dd8fc234092
--- /dev/null
+++ b/ACE/ChangeLogs/ChangeLog-FOCUS
@@ -0,0 +1,290 @@
+Fri Sep 21 09:44:15 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * FOCUS.pl:
+ Removed support for messaging specialization, this abstraction
+ has been removed from TAO
+
+ * specializations/Messaging_Strategy:
+ * specializations/Messaging_Strategy/GIOP.spl:
+ Removed from the repo
+
+Wed Dec 20 10:00:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * specializations/Reactor_Family/TP_Reactor.spl:
+ Removed specialization of Reactor.inl, the added include
+ is not necessary and causes a circular include problem
+
+Tue Nov 14 12:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * specializations/Wait_Strategy/Wait_On_Leader_Follower.spl:
+ * FOCUS.pl:
+ Added new lf specialization
+
+ * specializations/Wait_Strategy/Wait_On_Read.spl:
+ Updated to work with head
+
+Tue Nov 14 12:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * specializations/Messaging_Strategy/GIOP.spl:
+ Updated to work with current svn head
+
+Tue Nov 14 11:30:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * specializations/Reactor_Family/TP_Reactor.spl:
+ Updated to work with current svn head
+
+Fri Nov 10 09:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/FOCUS.html:
+ Added tp-reactor reference
+
+Fri Nov 18 17:05:49 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/Reactor_Family/Select_Reactor_ST.spl:
+ * specializations/Reactor_Family/Select_Reactor_MT.spl:
+
+ Reverted the include file in ace/Select_Reactor_T.inl as g++ 4.0
+ seems to balk when this is not there. This does not seem to
+ happen with g++ 3.2 or later versions
+
+Thu Oct 27 09:47:32 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/iiop.spl:
+
+ Updated specializations file based on changes made to ACE+TAO
+
+Thu Sep 29 15:57:36 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * FOCUS.pl:
+ Changed the script to use $ACE_ROOT enviornment variable to
+ compute the paths to the specialization files.
+
+ * Parser/Parser.pm:
+ Modified the parser comments and return values.
+
+ * NEWS: Added news file that discusses the current and planned
+ features.
+
+ * README: Readme file
+ * INSTALL: Removed install file and moved contents to README
+
+ * docs/FOCUS.html: Documenting the different features of FOCUS and
+ usage.
+
+Thu Sep 29 11:15:52 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/Protocol_Family/IIOP/iiop.spl:
+ * specializations/Context-Specific-Optimizations/Request-Creation-Optimizations.spl:
+ Changes required to the rules based on code level changes.
+
+Wed Sep 7 09:20:30 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * VERSION:
+ * specializations/Wait_Strategy/Wait_On_Read.spl:
+ * specializations/Protocol_Family/iiop.spl:
+ * specializations/Messaging_Strategy/GIOP.spl:
+ * Parser/Parser.pm:
+
+ Added version file for the first internal release of
+ FOCUS. Updated the specializations based on recent updates.
+
+Tue Sep 6 09:07:04 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/Protocol_Family/iiop.spl:
+
+ Added specialization rules for specializing the pluggable
+ protocols implementation in TAO with the IIOP protocol
+ implementation.
+
+Mon Aug 29 11:55:32 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/Reactor_Family/Select_Reactor_ST.spl:
+ * specializations/Reactor_Family/Select_Reactor_MT.spl:
+ * specializations/Reactor_Family/TP_Reactor.spl:
+
+ Updated the specializations rules for the Reactor specialization
+ after the commit by Steve Huston. These have been tested and
+ validated with the code in ACE+TAO.
+
+Mon Aug 22 13:28:39 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * FOCUS.pl:
+ * Parser/Parser.pm:
+ * specializations/Context-Specific-Optimizations/Dispatch-Resolution-Optimitzation.spl:
+
+ Added the specialization that resolves the request processor
+ only once and uses the cached request processor to service
+ requests on a specific connection for all other requests.
+
+Wed Aug 17 14:59:44 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * FOCUS.pl:
+
+ Added new option for specializing the wait strategy at the
+ client side in ACE+TAO
+
+ * Parser/Parser.pm:
+
+ Added support of <copy-from-source> tag that copies source code
+ from a source file and inserts it into the destination file
+ at a particular hook location.
+
+ * specializations/Reactor_Family/Select_Reactor_MT.spl:
+ * specializations/Reactor_Family/Select_Reactor_ST.spl:
+ * specializations/Wait_Strategy/Wait_On_Read.spl:
+ * specializations/Flushing_Strategy/Leader_Follower_Flushing_Strategy.spl:
+
+ Updated the Reactor specializations, after eliminating the
+ Reactor_Timer_Interface from the Reactor implementation. Added
+ two specializations for the Wait strategy and the
+ Leader_Follower_Flushing strategies. Updated the Messaging
+ specialization based on hooks left in the source code.
+
+Mon Aug 15 14:59:28 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * Parser/Parser.pm:
+
+ Updated the parser to include the attribute match-line in a
+ substitute tag. This matches the entire line as opposed to a
+ word which substitutes default behavior is.
+
+ * specializations/Reactor_Family/Select_Reactor_MT.spl:
+ * specializations/Reactor_Family/Select_Reactor_ST.spl:
+
+ Updated the rules to include the match-line attribute to match
+ the entire line as opposed to the a single word.
+
+Mon Aug 15 09:07:54 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/Select_Reactor_ST.spl:
+ * specializations/Select_Reactor_MT.spl:
+ * specializations/TP_Reactor.spl:
+
+ Updated the specialization rules. In particular, the
+ specialization rules have been updated as two separate ST rules
+ and MT rules for select reactor ST and select reactor MT.
+
+ * FOCUS.pl:
+
+ Updated the main script to work with these two rules.
+
+Thu Aug 11 16:33:47 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * FOCUS.pl:
+ * Parser/Parser.pm:
+
+ Added option to specify the output path where the specialization
+ file should be put.
+
+ * specializations/Reactor_Family/TP_Reactor.spl:
+ Updated the thread-pool reactor specialization file tags based
+ on the generated code.
+
+Thu Aug 11 10:54:06 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * FOCUS.pl:
+
+ Updated specialization entry for Thread Pool reactor.
+
+ * Parser/Parser.pm:
+
+ Updated the Visit_Substitute method with the requirement that it
+ match whole words and not parts of a word. For example, this
+ problem manifests when one is trying to substitute
+ Msg_WFMO_Reactor and WFM_Reactor. Both the strings match for
+ WFMO_Reactor, when only the latter should be matching. Corrected
+ this issue.
+
+ * specializations/Select_Reactor.spl:
+ * specializations/TP_Reactor.spl:
+
+ Updated the tags to be consistent and corrected several typos
+ and made sure that the rules in the specializations are actually
+ executed.
+
+ * PROBLEM-REPORT-FORM:
+
+ Most important thing added :-)
+
+Wed Aug 10 15:38:17 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * FOCUS.pl:
+ Moved the perl script from the Parser module to the top level
+ directory for convenience.
+
+ * specializations/Reactor_Family/TP_Reactor.spl:
+
+ Added a specialization file for specializing TP_Reactor
+ implementation.
+
+ * specializations/Reactor_Family/Select_Reactor.spl:
+
+ Updated the specialization file to be in sync with the code
+ level comment hooks in the ACE+TAO implementation.
+
+Sun Aug 7 16:15:29 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * Parser/Parser.pm:
+
+ Added Visit_Comment visitor to parse and execute <comment>
+ tags. Each comment tag contains a start-hook and an end-hook
+ which can be used to comment blocks of region within the source
+ code.
+
+ * specializations/Protocol_Family/Pluggable_Messaging.spl:
+
+ A specialization file that completely removes the Pluggable
+ messaging interface and replaces that with the concrete type
+ used.
+
+Thu Aug 4 14:33:42 2005 Arvind Krishna <arvindkr@arvindkr.qualcomm.com>
+
+ * Parser/Parser.pm:
+
+ Added diagnostic messages and updated FOCUS perl script to use
+ Getopt command line parsing perl module.
+
+Thu Aug 4 10:57:08 2005 Arvind Krishna <arvindkr@arvindkr.qualcomm.com>
+
+ * Parser/Parser.pm:
+ * Parser/FOCUS.pl:
+ Updated the parser module to include a <module> tag, this is
+ necessary when the specializations have to work across different
+ directories such as ACE and TAO.
+
+Wed Jul 27 15:54:02 PDT 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/Reactor_Family/Select_Reactor.spl:
+ Added a couple of specialization tags for reactor specialization.
+
+ * Parser/xml-spl-parser.pm:
+ Parser now capable of executing search, replace, add and comment
+ functionality for specializations.
+
+Tue Jul 26 12:38:00 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * specializations/README:
+
+ Added a evolving README file that describes the rules for
+ integrating different specializations into FOCUS.
+
+Tue Jul 26 11:23:51 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * Parser/Parser.pm:
+ * specializations/Reactor_Family/Select_Reactor.spl:
+
+ A simple perl based parser to parse the XML specializations
+ defined within the various specialization
+ files. Select_Reactor.spl defines the specialization rules for
+ effecting the transformations for specializing the Reactor
+ framework within ACE.
+
+Tue Jul 26 11:21:44 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * FOCUS:
+ Birth of "Feature Oriented Customization of Systems" is a
+ research project that aims at customizing semi complete
+ applications or frameworks based on features (e.g., type of
+ protocol, type of reactor) used in an application. FOCUS was
+ born out of research efforts described in the following paper:
+ http://www.cs.wustl.edu/~schmidt/PDF/MW-Spl.pdf
diff --git a/ACE/ChangeLogs/ChangeLog-JAWS b/ACE/ChangeLogs/ChangeLog-JAWS
new file mode 100644
index 00000000000..79562d051a9
--- /dev/null
+++ b/ACE/ChangeLogs/ChangeLog-JAWS
@@ -0,0 +1,1053 @@
+Tue Feb 17 16:15:16 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * server/HTTP_Server.h:
+
+ Updated to reflect movement of the svc_export.h file.
+
+Fri Dec 7 22:00:18 UTC 2007 Will Otte <wotte@dre.Vanderbilt.Edu>
+
+ * server/HTTP_Helpers.cpp:
+ Replaced format strings passed sscanf as char arrays to be
+ string literals instead, to address a gcc warning.
+
+Wed Jul 17 14:40:28 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * clients/Caching/http_handler.cpp:
+ Fixed gcc warning
+
+Fri Jul 13 20:21:08 UTC 2007 Ossama Othman <ossama_othman at symantec dot com>
+
+ * clients/Blobby/Blob_Handler.cpp (receive_reply):
+
+ Instead of casting an unsigned value to a signed one, check if
+ the signed value is less than zero, and then cast the signed
+ value to unsigned. Prevents wrap-around errors caused by
+ casting a negative value to an unsigned type from occuring.
+
+Thu Jul 12 15:54:28 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * clients/Blobby/Blob_Handler.cpp:
+ * clients/Caching/http_handler.h:
+ Fixed 64bit warnings
+
+ * stress_testing/benchd.cpp:
+ Use ACE_DEBUG instead of cout
+
+Tue Jul 3 10:56:28 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * clients/Blobby/Blob_Handler.cpp (ACE_Blob_Writer::receive_reply):
+ Don't use the return value of recv_n to set the last byte to zero, but
+ use the optional argument num_recvd
+
+ * server/HTTP_Response.cpp:
+ Fixed typo in error message
+
+ * server/IO.cpp (ACE_Blob_Writer::receive_reply):
+ Close the file handle after we have send the file
+
+Mon Jul 2 12:24:28 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * server/HTTP_Handler.cpp:
+ Layout changes and initialise some pointers with 0
+
+ * server/HTTP_Server.cpp:
+ * server/IO.h
+ Layout changes
+
+ * server/IO.cpp:
+ Layout changes, fixed memory leak
+
+ * server/JAWS_Concurrency.cpp:
+ Initialiser pointer with 0
+
+Mon Jul 2 10:48:28 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * server/*.{h,cpp}:
+ Converted to doxygen format and replaced NULL with 0
+
+Fri Oct 28 03:23:18 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * server/IO.cpp:
+
+ Addressed 64-bit conversion warnings.
+
+Mon Feb 6 01:00:55 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * server/HTTP_Server.h
+
+ Surrounded a proactor forward declaration with versioned
+ namespace macros.
+
+Thu Jan 5 00:42:28 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Untabify.
+ Delete-trailing-whitespace.
+
+Wed Jan 4 22:57:37 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Added "Local Variables" section defining "add-log-time-format"
+ to a really ugly lambda expression that formats changelog
+ timestamps in UTC and works with both GNU Emacs and XEmacs.
+
+Fri Apr 22 21:42:30 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * server/HTTP_Helpers.cpp (HTTP_mktime):
+
+ Made rfc1123_date, rfc850_date and asctime_date strings into
+ string literals. Allows g++ format specifier argument checking
+ to work, and addresses a related g++ 4.0 warning.
+
+ * server/IO.h (~JAWS_IO_Handler):
+ * server/IO.cpp (~JAWS_IO_Handler):
+
+ Added virtual destructor to silence g++ 4.0 warnings.
+
+Thu Aug 26 08:13:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * clients/Caching/http_client.cpp:
+ * server/HTTP_Response.cpp:
+ Added include of ace/os_include/os_ctype.h to fix compile problems
+ in our daily builds.
+
+Tue Feb 25 18:58:26 2003 Carlos O'Ryan <coryan@atdesk.com>
+
+ * clients/WebSTONE/src/cgi-send:
+ Removed pre-compiled binary for MIPS (R3000 of all things!)
+
+Wed Dec 26 09:35:35 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * clients/Blobby/Options.cpp
+ server/HTTP_Server.cpp
+ stress_testing/benchd.cpp
+ JAWS2/JAWS/Server.cpp: Replaced all uses of getopt.optarg
+ with getopt.opt_arg().
+
+Thu Dec 6 09:00:31 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * clients/Caching/http_client.cpp (main): Make sure to remove the
+ trailing '\n' so the example works properly. Thanks to Andrey
+ Shkinev <andreyshkinev@rogers.com> for reporting this.
+
+Wed Nov 14 16:21:46 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * clients/Blobby/Blob.{h,cpp},
+ * clients/Blobby/Blob_Handler.{h,cpp},
+ * clients/Blobby/blobby.{h,cpp},
+ * clients/Blobby/Options.{h,cpp}:
+ Fixed the code to be Unicode-compliant. Thanks to Johnny
+ Willemsen for contributing this.
+
+Fri Aug 24 18:39:39 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * server/HTTP_Response.cpp (normal_response),
+ * server/HTTP_Helpers.cpp (HTTP_decode_base64): Use delete [] buf
+ rather than delete buf. Thanks to Don Hinton for reporting
+ this.
+
+Thu Aug 16 09:57:15 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Updated dependencies.
+
+Mon Aug 13 14:04:44 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * Applied the following fixes courtesy of Blair Zajac
+ <blair@gps.caltech.edu>:
+
+ 1) Allow a static libHTTPU.a to be built when
+ "make static_libs_only=1" is used.
+
+ 2) When I try to build both JAWS and JAWS2 with the same
+ ACE_ROOT, the libJAWS.* that is built and installed first
+ prevents the other JAWS from properly compiling. This
+ resolves this problem by renaming the JAWS2 library to
+ libJAWS2.*.
+
+ 3) The JAWS2 subdirectory is now descended into by
+ apps/Makefile.
+
+ 4) The Makefile in JAWS2 now descends into HTTPU and JAWS to
+ build those libraries.
+
+Tue Jun 12 20:35:26 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * clients/Blobby/Blob_Handler.cpp:
+
+ Fixed a size_t printf to make gcc happy on IA-64 Linux.
+
+Sun Feb 18 09:33:33 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * server/IO.cpp (handle): Added a const to the handle() method
+ to make compilers happy. Thanks to Kitty for reporting this.
+
+Mon Jun 12 14:22:35 PDT 2000 James Hu <jxh@entera.com>
+
+ * server/HTTP_Response.cpp: Added content length support.
+ Thanks to Greg Gallant (gcg@micrografx.com) for the fixes!
+
+ * server/HTTP_Helpers.cpp: Fix date handling for NT.
+ Thanks to Greg Gallant (gcg@micrografx.com) for the fixes!
+
+Sun Jun 4 14:57:04 2000 Darrell Brunsch <brunsch@uci.edu>
+
+ * clients/WebSTONE/bin/WebStone-common.pl:
+ * clients/WebSTONE/bin/WebStone-manage.pl:
+ * clients/WebSTONE/bin/WebStone-run.pl:
+ * clients/WebSTONE/bin/WebStone-setup.pl:
+ * clients/WebSTONE/bin/killbench.pl:
+ * clients/WebSTONE/bin/mine-logs.pl:
+ * clients/WebSTONE/bin/move-filelist.pl:
+ * clients/WebSTONE/bin/move-runs.pl:
+ * clients/WebSTONE/bin/runbench.pl:
+ * clients/WebSTONE/bin/view-results.pl:
+ * clients/WebSTONE/bin/webstone-gui.pl:
+ * clients/WebSTONE/bin/write-testbed.pl:
+ * clients/WebSTONE/bin/wscollect.pl:
+ * clients/WebSTONE/conf/paths.pl:
+ * clients/WebSTONE/doc/FAQ-webstone.html:
+ * clients/WebSTONE/doc/LICENSE.html:
+ * clients/WebSTONE/doc/WebStone.html:
+ * clients/WebSTONE/doc/webstone2.html:
+ * clients/WebSTONE/src/acconfig.h:
+ * clients/WebSTONE/src/bench.c:
+ * clients/WebSTONE/src/bench.h:
+ * clients/WebSTONE/src/cgi-send.c:
+ * clients/WebSTONE/src/config.h:
+ * clients/WebSTONE/src/debug.h:
+ * clients/WebSTONE/src/errexit.c:
+ * clients/WebSTONE/src/genrand.c:
+ * clients/WebSTONE/src/get.c:
+ * clients/WebSTONE/src/get.h:
+ * clients/WebSTONE/src/getopt.c:
+ * clients/WebSTONE/src/gettimeofday.c:
+ * clients/WebSTONE/src/nsapi-send.c:
+ * clients/WebSTONE/src/parse_file_list.c:
+ * clients/WebSTONE/src/parse_file_list.h:
+ * clients/WebSTONE/src/rexec.c:
+ * clients/WebSTONE/src/statistics.c:
+ * clients/WebSTONE/src/statistics.h:
+ * clients/WebSTONE/src/sysdep.c:
+ * clients/WebSTONE/src/sysdep.h:
+ * clients/WebSTONE/src/timefunc.c:
+ * clients/WebSTONE/src/timefunc.h:
+ * clients/WebSTONE/src/webclient.c:
+ * clients/WebSTONE/src/webmaster.c:
+ * clients/WebSTONE/src/nsapi-includes/netsite.h:
+ * clients/WebSTONE/src/nsapi-includes/base/buffer.h:
+ * clients/WebSTONE/src/nsapi-includes/base/cinfo.h:
+ * clients/WebSTONE/src/nsapi-includes/base/crit.h:
+ * clients/WebSTONE/src/nsapi-includes/base/daemon.h:
+ * clients/WebSTONE/src/nsapi-includes/base/dll.h:
+ * clients/WebSTONE/src/nsapi-includes/base/ereport.h:
+ * clients/WebSTONE/src/nsapi-includes/base/eventlog.h:
+ * clients/WebSTONE/src/nsapi-includes/base/file.h:
+ * clients/WebSTONE/src/nsapi-includes/base/minissl.h:
+ * clients/WebSTONE/src/nsapi-includes/base/net.h:
+ * clients/WebSTONE/src/nsapi-includes/base/nodelock.h:
+ * clients/WebSTONE/src/nsapi-includes/base/nterrors.h:
+ * clients/WebSTONE/src/nsapi-includes/base/objndx.h:
+ * clients/WebSTONE/src/nsapi-includes/base/pblock.h:
+ * clients/WebSTONE/src/nsapi-includes/base/sem.h:
+ * clients/WebSTONE/src/nsapi-includes/base/session.h:
+ * clients/WebSTONE/src/nsapi-includes/base/shexp.h:
+ * clients/WebSTONE/src/nsapi-includes/base/shmem.h:
+ * clients/WebSTONE/src/nsapi-includes/base/systems.h:
+ * clients/WebSTONE/src/nsapi-includes/base/systhr.h:
+ * clients/WebSTONE/src/nsapi-includes/base/util.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/conf.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/dnfilter.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/func.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/http.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/httpact.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/log.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/object.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/objset.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/protocol.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/req.h:
+ * clients/WebSTONE/src/nsapi-includes/frame/servact.h:
+
+ Added missing CVS Id strings.
+
+Wed Mar 22 12:36:00 2000 James Hu <jxh@cs.wustl.edu>
+
+ * stress_testing/connection.h:
+
+ Fixes to class declaration. Method return types should never
+ be implicit. Thanks to Craig Rodrigues (rodrigc@mediaone.net)
+ for the heads up.
+
+ * stress_testing/Makefile:
+
+ Fixed it so that the programs actually link. Thanks to Craig
+ Rodrigues (rodrigc@mediaone.net) for the heads up.
+
+Tue Sep 21 11:47:00 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * server/HTTP_Server.cpp (init):
+
+ Changed cast style to make gcc 2.95.1 happy. Thanks to Jeffrey
+ Franks <Jeffrey_Franks@i-o.com> for reporting the problems.
+
+Tue Aug 31 05:10:32 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * server/HTTP_Handler.cpp (destroy_http_handler): Switched
+ the order in which handler and io were deleted since the current
+ order seems to destroy handler first, which is problematic since
+ io is contained within handler! Thanks to Yosi Sarusi
+ <yosi@appstream.com> for reporting this.
+
+Wed Aug 18 16:00:46 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * server/Makefile,client/Caching/Makefile: don't build if
+ ACE_COMPONENTS is FOR_TAO, because we now exclude Filecache
+ from the ACE library in that case.
+
+Thu Jul 29 16:05:59 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * PROTOTYPE/JAWS/IO.cpp (transmit_file): Added some fixes so this
+ code will compile on NT. Thanks to Brian Jones
+ <bjones@edgemail.com> for reporting this problem and to James Hu
+ for fixing it.
+
+Tue Jun 22 13:42:51 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * remora/app/Makefile: replaced rm -f with $(RM).
+
+Tue Mar 16 01:08:05 1999 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * server/Makefile:
+ * server/jaws.dsp: Updated makefiles to build shared library.
+
+ * server/svc.conf: Added example settings for using HTTP_Server as
+ a dynamic service.
+
+ * server/HTTP_Server.{h,cpp}: Added macros to build dynamic
+ HTTP_Server service.
+
+ * server/main.cpp (main): Since we use static service in JAWS, we
+ must open the service configure without ignoring the static
+ svcs. Thanks to Bill Rizzi <rizzi@softserv.com> for pointing
+ this out.
+
+Mon Feb 01 17:04:39 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * clients/WebSTONE/conf/paths.{pl,sh}.old:
+ removed these apparently useless files.
+
+Sat Jan 02 08:44:48 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * server/HTTP_Request.cpp,Parse_Headers.cpp: initialized
+ third param to strtok_r with 0. DU 4.0 cxx was complaining
+ about it, with ACE_NDEBUG. According to the strtok_r
+ man page on DU 4.0, it must be initialized to 0 on the
+ first call to strtok_r.
+
+Fri Sep 25 23:29:14 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * server/IO.cpp (receive_file,transmit_file): changed
+ NOMAP to ACE_NOMAP. Thanks to Dann Corbit
+ <DCorbit@SolutionsIQ.com> for reporting this.
+
+Thu Sep 17 18:53:05 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * server/IO.cpp:
+ * PROTOTYPE/JAWS/IO.cpp:
+ Revert back to iovec. Also added some missing casts.
+
+Wed Sep 16 22:53:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * server/IO.cpp:
+ * PROTOTYPE/JAWS/IO.cpp:
+ Use ACE_IO_Vector instead of iovec, because it is more
+ protable.
+
+Tue Aug 25 10:18:16 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * clients/Caching/URL_Properties.cpp: removed explicit
+ ACE_Auto_Basic_Array_Ptr <char> instantiation because it's
+ now in libACE. This file doesn't compile with g++/Solaris,
+ but the Makefile doesn't build it anyways.
+
+Fri Jul 31 18:31:32 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
+
+ * PROTOTYPE/HTTP_10.cpp
+ * PROTOTYPE/HTTP_10_Parse.cpp
+ * PROTOTYPE/HTTP_10_Read.cpp
+ * PROTOTYPE/HTTP_10_Request.cpp
+ * PROTOTYPE/HTTP_10_Write.cpp
+ * PROTOTYPE/HTTP_Policy.cpp
+ * PROTOTYPE/main.cpp
+ * PROTOTYPE/JAWS/Assoc_Array.cpp
+ * PROTOTYPE/JAWS/Concurrency.cpp
+ * PROTOTYPE/JAWS/Data_Block.cpp
+ * PROTOTYPE/JAWS/IO.cpp
+ * PROTOTYPE/JAWS/IO_Acceptor.cpp
+ * PROTOTYPE/JAWS/IO_Handler.cpp
+ * PROTOTYPE/JAWS/Pipeline.cpp
+ * PROTOTYPE/JAWS/Pipeline_Handler.cpp
+ * PROTOTYPE/JAWS/Pipeline_Tasks.cpp
+ * PROTOTYPE/JAWS/Policy.cpp
+ * PROTOTYPE/JAWS/Reaper.cpp
+ * PROTOTYPE/JAWS/Server.cpp
+ * PROTOTYPE/JAWS/Waiter.cpp
+ * clients/Blobby/Blob.cpp
+ * clients/Blobby/Blob_Handler.cpp
+ * clients/Blobby/Options.cpp
+ * clients/Blobby/blobby.cpp
+ * clients/Caching/ID_Generator.cpp
+ * clients/Caching/Local_Locator.cpp
+ * clients/Caching/Locator_Request_Reply.cpp
+ * clients/Caching/URL_Array_Helper.cpp
+ * clients/Caching/URL_Locator.cpp
+ * clients/Caching/URL_Properties.cpp
+ * clients/Caching/http_client.cpp
+ * clients/Caching/http_handler.cpp
+ * clients/Caching/test_URL.cpp
+ * server/HTTP_Config.cpp
+ * server/HTTP_Handler.cpp
+ * server/HTTP_Helpers.cpp
+ * server/HTTP_Request.cpp
+ * server/HTTP_Response.cpp
+ * server/HTTP_Server.cpp
+ * server/IO.cpp
+ * server/JAWS_Concurrency.cpp
+ * server/JAWS_Pipeline.cpp
+ * server/JAWS_Pipeline_Handler.cpp
+ * server/Parse_Headers.cpp
+ * server/main.cpp
+ * stress_testing/benchd.cpp
+ * stress_testing/connection.cpp
+ * stress_testing/cp.cpp
+ * stress_testing/http_tester.cpp
+ * stress_testing/stats.cpp
+ * stress_testing/util.cpp
+ Added ACE_RCSID to these files.
+
+Thu Feb 19 22:14:09 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
+
+ * server/JAWS_Concurrency.cpp (put): Modified line number 11 to
+ get away with a compilation error.
+
+Wed Feb 18 12:31:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * server/JAWS_Pipeline.cpp:
+ Removed extra definitions for default arguments.
+
+Sun Feb 15 08:05:28 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * server/JAWS_Pipeline.h: added missing ; at end of constructor
+ declaration.
+
+Wed Jan 7 17:26:43 1998 James C Hu <jxh@cs.wustl.edu>
+
+ * server/Pipeline.cpp: Put base class initialization of
+ JAWS_Protocol_Filter ahead of data members.
+
+Fri Jan 2 16:28:00 1998 Nanbor Wang <nw1@cs.wustl.edu>
+
+ * clients/Caching/http_handler.cpp:
+ * clients/Blobby/Blob.cpp: Added missing explicit template
+ instantiations.
+
+Mon Dec 29 20:20:36 1997 James C Hu <jxh@cs.wustl.edu>
+
+ * clients/Caching/http_handler.cpp: Idem to previous change.
+
+Mon Dec 29 18:50:02 1997 James C Hu <jxh@cs.wustl.edu>
+
+ * server/IO.cpp: Idem to previous change, but fixes to improve
+ compatibility and portability to Windows NT.
+
+Thu Dec 18 15:37:36 1997 James C Hu <jxh@cs.wustl.edu>
+
+ * server/IO.cpp: Modified to account for changes in ACE_Filecache
+ to not map file on NT.
+
+Tue Dec 16 09:29:11 1997 David L. Levine <levine@cs.wustl.edu>
+
+ * server/Makefile: expanded rules.bin.GNU, but without
+ $(VOBJS), to avoid make warnings.
+
+ * client/WebSTONE/src/nsapi-includes/base/systems.h:
+ #ifdef linux, not LINUX.
+
+Fri Dec 12 03:06:16 1997 James C Hu <jxh@cs.wustl.edu>
+
+ * server/Parse_Headers.cpp: Many things have been touched, but
+ only a few things have significantly changed. I originally
+ attempted to change the implementation entirely to use
+ Hash_Map_Manager instead, but it was getting more complicated
+ than I wanted, so I went back to debugging.
+
+ - Trailing whitespace has been removed.
+ - A couple of debug messages have been added the
+ Headers::parse_header_line ().
+ - Method declarations had to be changed to account for the
+ fact that the Map_Item class (which had previously
+ been declared inside of Headers_Map) is now in global
+ scope and has been renamed to Headers_Map_Item.
+ - The no_value_ data member and the char* cast operator of
+ Map_Item have been removed.
+ - The assignment operator for Map_Item has been made a bit
+ tidier in its memory management (say no to memory
+ leaks!).
+ - Debugged the Headers_Map data structure. This involved
+ the following:
+ . Re-implementation of strcasecmp (red-herring).
+ . Re-implementation of Headers::compare (). This is
+ needed because empty table entries need to compare as
+ infinity against real strings, so that real strings get
+ inserted correctly.
+ . Debugging the Headers_Map::find () method by
+ implementing first a linear search, and then my own binary
+ search. It turns out the C library ::bsearch() does work,
+ but I will leave in my implementation for now, since
+ ::bsearch () is not in ACE_OS yet.
+ . Re-implementation of Headers::place (). The old one
+ was badly written. The new one is more efficient, and
+ less error prone. This method turned out to be the main
+ problem. It was the reason that binary search was
+ previously failing (but linear search worked). The
+ reason? It was corrupting memory, believe it or not.
+ No longer!
+
+ In addition, Headers::place () had a serious bug in which a call
+ to ACE_OS::free () was added, but included the ++ operator on
+ the pointer from the previous line. Ug.
+
+ * server/Parse_Headers.h: See comments for HTTP_Request.cpp.
+
+ * server/HTTP_Request.cpp: Removed extraneous whitespace. It's
+ not what you think Doug! Just trailing whitespace at the end of
+ lines that somehow get added on when people use LoseNT editors.
+ Also, changes were made to Parse_Headers which made it necessary
+ to explicitly use the value () accessor method when examining
+ parsed headers. There use to be a operator char* () method.
+
+ * server/HTTP_Response.cpp: See comments for HTTP_Request.cpp.
+
+ * server/HTTP_Helpers.cpp: Added a comment to
+ HTTP_Helper::fixyear ().
+
+Tue Dec 9 01:19:09 1997 James C Hu <jxh@cs.wustl.edu>
+
+ * stress_testing/util.cpp: Off by one errors when parsing a URL.
+ Did I write this code? I don't think so. Thanks to Valik
+ Solorzano Barboza <valik@geodan.nl> for pointing this out.
+
+Thu Nov 20 00:36:34 1997 James C Hu <jxh@cs.wustl.edu>
+
+ * server/Pipeline.h: Added methods and members so that the
+ pipeline can be both push and pull driven.
+
+ * server/Pipeline.cpp: Made the pipeline a doubly linked list of
+ components, so that it can be operated as push-driven or
+ pull-driven pipelines.
+
+Wed Nov 19 05:10:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * server/HTTP_Handler.h: Added the keyword "virtual" on the open()
+ method which is inherited from ACE_Sevice_Handler. Perhaps this
+ will fix a bug with BORLANDC reported by Valik Solorzano Barboza
+ <valik@xs4all.nl>.
+
+Mon Nov 17 07:34:09 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * server/Parse_Headers.cpp (end_of_line): Replaced a const char *
+ with a char * to work with the new ACE_OS::strchr() signature.
+ Thanks to James for finding this.
+
+Tue Nov 11 19:52:38 1997 James C Hu <jxh@cs.wustl.edu>
+
+ * server/Pipeline.{h,cpp}: The beginning of a new Pipeline
+ framework has been added.
+
+Sun Oct 12 16:21:32 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
+
+ * clients/Caching/Makefile:
+ * stress_testing/Makefile:
+ There is no need to set LDLIBS to add local object files
+ anymore, using FILES is enough.
+
+Fri Oct 10 18:41:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
+
+ * clients/Blobby/Makefile:
+ Fixed problem that made compilation fail.
+
+Thu Sep 11 10:40:38 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
+
+ * server/HTTP_Request.cpp:
+ I checked the use of MAXNAMELEN vs. MAXPATHLEN; all buffers
+ intended to keep full filenames should have at least
+ MAXPATHLEN+1 chars.
+ Only buffers that will keep basenames (without any directories)
+ should have MAXNAMELEN+1 bytes.
+ I also added a new macro ACE_MAX_FULLY_QUALIFIED_NAME_LEN which
+ is the maximum number of characters for a fully qualified
+ internet hostname.
+ There remain one obscure usage of these macros in ace/Malloc.h
+ and Local_Naming_Space_T.{h,cpp}, but a quick fix broke
+ something, I will try again soon.
+
+Tue Sep 9 22:08:36 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/HTTP_Server.{cpp,h}: Changes which answer questions
+ brought up in design review. Mostly additional comments. Also
+ changes to have a task spawn a number of threads rather than
+ iterating through calls to the activate method.
+
+Fri Aug 29 11:07:43 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/*.{cpp,h}: Changes to make JAWS comply with ACE
+ coding standards. In particular, broke up CGI method in
+ HTTP_Request, remove dependency on static object in
+ HTTP_Config, and answered all questions from Doug.
+
+Tue Aug 26 21:34:11 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * clients/Caching/ID_Generator.h: Made some minor changes to
+ the programming style.
+
+Sun Aug 10 13:44:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * server/HTTP_Helpers.cpp (HTTP_date): We can't use
+ ACE_Thread_Mutex directly in the code since that breaks
+ platforms that lack threads.
+
+Wed Aug 6 16:45:48 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/main.cpp: Added another signal handler so I can kill JAWS
+ when purifying.
+
+Mon Aug 4 00:07:24 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
+
+ * server/main.cpp (main): Service configurator now doesn't return
+ -1 when errors occur. Therefore, we check for not success
+ instread of fail when opening the service contifurator.
+
+Mon Jul 28 04:54:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * server/Parse_Headers.cpp (place): Reformatted the same
+ stuff again...
+
+Mon Jul 28 01:48:40 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/README: Updated the README file to reflect new features
+ and server flags.
+
+ * server/Parse_Headers.cpp (place): Fixed a compile error found by
+ David Levine. I don't know why this was compiling for me.
+
+Sun Jul 27 21:56:12 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * server/Parse_Headers.cpp (place): Reformatted a few things
+ to make them easier to read.
+
+Fri Jul 25 02:05:20 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/HTTP_Server.cpp: Changes to allow the thread creation
+ flags to be specified from the command line. Removed some code
+ that was used to track down memory leaks.
+
+ * server/HTTP_Helpers.{h,cpp}: Added another method
+ HTTP_date (char *), so that a buffer to which the date will be
+ written to can be passed into the HTTP_date routine.
+
+ * server/HTTP_Response.cpp: Changed some code so that the baseline
+ implementation can be created at compile time.
+
+ * server/IO.cpp: Changed some code so that the baseline
+ implementation can be created at compile time.
+
+ * server/main.cpp: Changed the signal handler to wait for threads
+ to die. However, this code will remain dormant for now, until
+ we design a nice way to shut down a thread pool.
+
+ * server/svc.conf: Changes to add some other entries people can
+ try.
+
+ * server/Makefile: Changes to allow JAWS to be built with static
+ linking only, to ease the process of using Purify and Quantify.
+ Dynamic linking will be re-configured in the future when we have
+ all the memory leaks worked out.
+
+Mon Jul 22 16:55:00 1997 Chris Cleeland <cleeland@cs.wustl.edu>
+
+ * Changed references to WRAPPER_ROOT to ACE_ROOT in every
+ place except ChangeLog entries.
+
+Mon Jul 21 15:09:03 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/HTTP_Server.{h,cpp}: Got rid of Solaris specific
+ debugging code (thr_create, thr_join).
+
+Fri Jul 11 02:15:12 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/HTTP_Response.cpp: Changes so that the HEADER is not
+ rebuilt all the time.
+
+ * server/IO.cpp (JAWS_Synch_IO::transmit_file): Changed to use
+ writev () instead of multiple send ()s.
+
+Thu Jul 10 01:53:48 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * server/HTTP_Helpers.{h,cpp}: Changed so that creating the date
+ header is less expensive.
+
+ * server/HTTP_Response.cpp: Changes to match above.
+
+ * clients/Caching/README: Added to the repository.
+
+ * clients/Caching/http_handler.{h,cpp}: Added some comments to the
+ code. Also, moved the code to check to see if the file is in
+ cache already into the connector, so that a connect is not
+ done if the file is cached. This required a filename ()
+ accessor method to be added to the handler.
+
+Wed Jul 9 13:08:00 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * clients/Caching/http_handler.cpp (svc): Added code to check to
+ see if the file is already cached before trying to cache it.
+
+ * clients/Caching/http_client.cpp (main): Added a comment block at
+ the top of the file.
+
+ * server/HTTP_Handler.cpp and IO.cpp: Changes that were needed
+ since JAWS_File is now integrated into ACE (as ACE_Filecache).
+
+ * server/HTTP_Server.*: Attempting to track down memory leak.
+ This code may be in a state a flux for the next week or so.
+
+Mon Jul 7 23:40:13 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
+
+ * clients/WebSTONE/src/webclient.c: Removed a bunch of THREAD
+ storage class decorators from function makeload() because auto
+ variables can't be declared as TSS. Also #ifdef random number
+ generation code so it uses rand_r on Solaris() and rand() on NT.
+
+ * clients/WebSTONE/src/rexec.c: Modified prototypes for
+ PassOutputThread() and PassErrorThread() to avoid warnings from
+ MSVC. Still need more refinement on this one. ;(
+
+ * clients/WebSTONE/src/webmaster.c: Added prototype for
+ HostEntCpy() and a null statement to avoid warning from MSVC.
+
+ * clients/WebSTONE/src/gendata/genrand.mak:
+ * clients/WebSTONE/src/master/webmaster.mak:
+ * clients/WebSTONE/src/client/webclient.mak: Updated file paths
+ and dependencies.
+
+Sat Jul 5 14:19:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * Renamed the client directory "clients" to reflect the fact that
+ we've got multiple client tests now. Also, moved the original
+ contents of the client directory into a new clients/Blobby
+ directory and added Caching and WebSTONE.
+
+ * Moved the ChangeLog from the ./server directory into the ./JAWS
+ directory since we want to apply ChangeLog entries to all
+ aspects of JAWS, not just the server.
+
+ * HTTP_Server.cpp (open): Added THR_DETACHED as a flag to
+ activate(). This should prevent a memory leak that was
+ occurring since no thread was ever "joining" the threads that
+ were spawned.
+
+Thu Jul 3 23:33:47 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * HTTP_Response.cpp (~HTTP_Response): changed delete to delete [],
+ removing a major memory leak from JAWS. Still to find is a
+ memory lead associated with thread per request. Nanbor's fix is
+ about what I did to EMPTY_HEADER too.
+
+ * JAWS_File.cpp: David points out I need to add specializations
+ for the GNU C++ compiler.
+
+Thu Jul 3 22:38:04 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
+
+ * HTTP_Response.cpp (build_headers): Added explicit cast for
+ EMPTY_HEADER from (const char *) to (char *) in order to make
+ MSVC happy. This is probably very badly styled. But
+ HTTP_HEADER is only used in places that require (const char *),
+ so I think it's safe to do so.
+
+Thu Jul 3 15:34:30 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * HTTP_Response.cpp (HTTP_Response): Moved a call to delete out of
+ constructor into the destructor where it belongs.
+
+Thu Jul 3 12:28:44 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
+
+ * Parse_Headers.cpp: Line 137, Changed pt to ptr (it was a typo)
+
+Wed Jul 2 22:33:52 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * JAWS_File.{h,cpp}: Fixed deadlock bug, since RW_MUTEX's are not
+ recursive (drat!).
+
+Wed Jul 2 21:03:12 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * Made a major pass through all the code and made the style
+ consistent with that found in ACE.
+
+Wed Jul 2 14:33:27 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * JAWS_File.cpp: Added double check locking pattern to the fetch
+ routine of the virtual filesystem. This slows things down
+ considerably for files which change frequently and for cache
+ misses in general, but it should be correct.
+
+Wed Jul 2 14:59:29 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
+
+ * HTTP_Helpers.cpp (HTTP_decode_string): Added cast from strtol to
+ char explicitly to prevent NT from complaining.
+
+Wed Jul 2 14:33:27 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * JAWS_File.{h.cpp}: Modifications to support RW_MUTEX for both
+ the virtual filesystem and the low level ACE_File. Next major
+ change will be to re-implement the virtual filesystem to use a
+ hash table ala ACE_Hash_Map_Manager.
+
+Wed Jul 2 00:23:22 1997 James C Hu <jxh@polka.cs.wustl.edu>
+
+ * HTTP_Server.{h,cpp}: Changed parsing of options to use
+ mnemonic names rather than numbers. Added a new thread
+ strategy, THROTTLE. This is thread-per-request until some
+ maximum number. Unfortunately, it does not become thread-pool
+ at this point... yet :-). Added a new option to pass in a
+ backlog value.
+
+ * svc.conf: adjusted to account for the changed options.
+
+ * README: changed to explain new svc.conf options.
+
+ * JAWS_File.cpp: Changed it so that when the file is added to the
+ cache, it is also acquired. When it is removed from the cache,
+ it is released. This is so that the reference count is at least
+ one while the file is in the cache. Also, fixed the virtual
+ filesystem by giving it a simple replacement strategy if the
+ table is full. For now, it will replace the largest file in the
+ cache with the request for the current file.
+
+Tue Jul 1 19:13:44 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
+
+ * JAWS_File.cpp (JAWS_File): Changes the creation method of a
+ cached copy from using plain file copy to using mmap and memcpy.
+ This avoid the extra complexity caused by FILE_FLAG_OVERLAPPED.
+
+Sat Jun 28 11:55:38 1997 James C Hu <jxh@tango.cs.wustl.edu>
+
+ * HTTP_Handler.cpp (open): fixed a typo
+
+ * HTTP_Handler.cpp (cgi): fixed a bug, strdup fails on NULL
+
+Sat Jun 28 16:14:38 1997 Sumedh Mungee <sumedh@cumbia.cs.wustl.edu>
+
+ * HTTP_Handler.cpp (open): Changed socket send-buffer to 64k
+
+Wed Jun 25 01:11:50 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
+
+ * JAWS_File.cpp: Removed initialization of vfs_ (see below) and
+ changed all references of vfs_ to
+ JAWS_Virtual_Filesystem::instance (). Thanks to Detlef Becker
+ <detlef.becker@med.siemens.de> for pointing this out.
+ (init): Added initialization of reference_count_ to 0.
+
+ * JAWS_File.h: Removed private member JAWS_Virtual_Filesystem vfs_
+ since JAWS_Virtual_Filesystem is a singleton already. Caching
+ it doesn't seem to win much and depends on the order of static
+ variables initialization, which is non-portable.
+
+Fri Jun 13 02:42:39 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
+
+ * jaws.{mdp,mak}: Updated to incoporate latest changes.
+
+Thu Jun 5 14:13:22 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * HTTP_Server.cpp: Added more informative comments to the
+ asynch_thread_pool() method due to comments posed by Mehul
+ (MehulM@spa-marketing.com).
+
+Wed Jun 4 23:00:47 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * JAWS_File.cpp (JAWS_File): Fixed a bug where JAWS_File wanted
+ the file to have write permissions before openning it. This is
+ now only true if the file is to be written to.
+
+Wed Jun 4 22:30:41 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
+
+ * main.cpp (main): Changed SIGCLD to SIGCHLD for better
+ portability.
+
+ * IO.cpp (transmit_file): The third argument passed
+ ACE_Asynch_Transmit_File::Header_And_Trailer() should be an
+ address (&).
+
+Mon Jun 2 16:35:18 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * HTTP_Helpers.cpp: Serious bug in base64 decoder routine
+ squashed. Didn't initialize an array with 0's. The original
+ source had them declared static. Also, changed sizeof alphabet_
+ to strlen (alphabet_), because original code had alphabet_ as an
+ array, but my translation has alphabet_ as a pointer.
+
+ * HTTP_Response.cpp: Added some code to check to see if the
+ decoder returns 0. If it does, flag this as a failed
+ authorization attempt.
+
+ * HTTP_Handler.cpp: Added a "\r\n" to the confirmation message in
+ receive_file_complete () method.
+
+ * HTTP_Request.cpp: In parse_request_line (), created conditional
+ expressions in the debugging print statement so that a null
+ string will not cause the server to crash.
+
+ * HTTP_Response.cpp:
+ (1) cgi_resposnse () no longer has to wait for the process to
+ die. The fix to ACE_Process of closing down child handles was
+ enough to get the connection to die on its own.
+ (2) Mike (mrm@cisco.com) pointed out that the output for CGI
+ responses was not create. The fix was to output a small header
+ before execing the CGI program.
+
+ * test.cgi: a sample cgi program to use when testing the JAWS
+ server.
+
+Sat May 31 13:34:14 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * *.h, *.cpp: Changed include lines from "apps/JAWS/server/..." to
+ "..." to avoid dependencies on the WRAPPER_ROOT tree.
+
+ * jaws.auth: This file is added to be a sample authorization
+ file. This is the file which JAWS is currently hardcoded to use
+ to verify authenticated PUT requests.
+
+ * HTTP_Response.cpp: Added code to normal_response () and to
+ error_response () to better handle authentication. Now, all PUT
+ methods are required to be authenticated. The strategy now is
+ very simple, there is only one authorization file and only one
+ realm of authorization. This will be easy to bring up to spec
+ later, though.
+
+ * HTTP_Helpers.h: Added alphabet_ data member for the
+ decode/encode base64 methods.
+
+ * HTTP_Helpers.cpp: Added HTTP_decode_base64 and
+ HTTP_encode_base64 methods. HTTP_encode_base64 is currently not
+ used, but HTTP_decode_base64 is being used for Basic
+ authentication.
+
+ * *.h, *.cpp: Changed include lines from "JAWS/server/..." to
+ "apps/JAWS/server/..." to fix an error reported by Rob Payne
+ <repayne@jeeves.net>. This was really due to a bug in the
+ platform_macros.GNU file not adding INCLDIRS to the CCFLAGS
+ during compilation, but in the case other platforms have the
+ same problem, changing the source is a better fix.
+
+Fri May 30 23:19:03 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * README: updated to better reflect the status of JAWS.
+
+ * main.cpp (handler): Added a signal handler for SIGINT, and also
+ set SIG_IGN for SIGCLD. The first handler calls exit (0) if
+ SIGINT is received, so that static destructors are called. The
+ second is so that zombies are not formed.
+
+ * HTTP_Response.cpp (cgi_response): Debugging. (1) The CGI
+ program spewed output on the server side instead of the client.
+ (2) The CGI program had environment variable being set even
+ though there was no associated value. (3) The client connection
+ was not being closed after the CGI program executed. Problem
+ (1) was fixed by using set_handles () in cgi_options. Problem
+ (2) was fixed by testing to see if the header had an associated
+ value before assigning it to the environment. Problem (3) was
+ fixed by sending an empty confirmation message after waiting for
+ the CGI process to exit.
+
+ * HTTP_Request.cpp (cgi): Debugging. It was not looking for a
+ ".cgi" extension during the stage of determining if a URI is a
+ CGI script. This will later be fixed when a full mime-type
+ facility is implemented.
+
+Fri May 23 00:45:24 1997 James C Hu <jxh@lambada.cs.wustl.edu>
+
+ * JAWS/server: Debugged HTTP/0.9 GET requests, and HTTP/1.0 PUT
+ requests. Both work now, with minor problems: e.g. the
+ Content-type header doesn't really work (always sends text/html
+ as the content type). What it should do is see if the request
+ included a content type header, and use it, otherwise, resort to
+ some file suffix and mimetype matching algorithm.
+
+ * Parse_Headers.h (complete_header_line): Added comments
+ explaining the new return values of -1, 0 and 1 (see comments
+ for Parse_Headers.cpp below).
+
+ * Parse_Headers.cpp (complete_header_line): modified so that it
+ returns three values instead of two. -1 means that an end of
+ line was encountered, but nothing after it yet to verify if it
+ is really a complete header line. 0 means the read cut off in
+ the middle of a line (no end of line character found). 1 means
+ the line is verified to be a complete header line.
+
+ * HTTP_Request.cpp (parse_request): Changed the test so that an
+ HTTP/0.9 request would be sent immediately after being issued.
+ This involved changes to Parse_Headers.
+
+ * JAWS_File.cpp (acquire): Changes involved adding some debugging
+ statements to understand why PUT was not working. Discovered a
+ bug in how ACE_Mem_Map was being used.
+
+ * HTTP_Request.cpp (content_length): Changed to extract value from
+ the headers, if available.
+
+Thu May 22 16:22:03 1997 James C. Hu <jxh@pride.cs.wustl.edu>
+
+ * HTTP_Request.cpp (cgi_env): Added a cast so that a warning
+ generated by SGI C++ compiler goes away.
+
+ * Makefile: Reordered the way the files are compiled/linked so
+ that useless warnings about object files not resolving any
+ symbols go away.
+
+Wed May 21 15:33:33 1997 James C Hu <jxh@polka.cs.wustl.edu>
+
+ * JAWS_File.{h,cpp}: Added some comments. Will add a copy ()
+ method soon, after I move my workspace over to lambada.
+
+ * JAWS_Tilde.{h,cpp}: This class is being implemented but has not
+ been added to the repository yet, since JAWS as yet does not use
+ it, and it is still being developed. This will be a cache of
+ the expansions from ~foo to the home directory of foo.
+
+Tue May 20 22:49:24 1997 James C Hu <jxh@polka.cs.wustl.edu>
+
+ * JAWS_File.{h,cpp}: New class created to replace the old kludgy
+ VFS thingy. This new cached virtual filesystem is way cool: a
+ file which is being retrieved can be simultaneously replaced
+ without causing either reader or writer to wait. Reference
+ counts are maintained now, which was missing in VFS. Also,
+ there is no longer a dependency on the JXH_List template now,
+ which is a plus.
+
+ * IO.cpp: Changes to adapt to the new virtual filesystem. The
+ changes all involved simplifications to the programming
+ interface.
+
+ * HTTP_Handler.cpp: Changes required to deal with the more
+ generic error responses returned from the JAWS_File/JAWS_IO
+ interface. This generality will make it easier to adapt
+ JAWS_File and JAWS_IO into ACE.
+
+ * test_JAWS_File.cpp: A test program written to see if the new
+ virtual filesystem works the way I expect it to.
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/ACE/ChangeLogs/ChangeLog-asnmplib b/ACE/ChangeLogs/ChangeLog-asnmplib
new file mode 100644
index 00000000000..8d82c1aa36c
--- /dev/null
+++ b/ACE/ChangeLogs/ChangeLog-asnmplib
@@ -0,0 +1,227 @@
+Wed Jan 4 22:50:09 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Untabify.
+ Delete-trailing-whitespace.
+
+ Added "Local Variables" section defining "add-log-time-format"
+ to a really ugly lambda expression that formats changelog
+ timestamps in UTC and works with both GNU Emacs and XEmacs.
+
+Fri May 7 11:40:25 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * pdu.cpp (agent_error_reason):
+
+ Really fixed mismatched sprintf() format specifiers this time
+ around.
+
+Thu May 6 11:13:25 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * oid.cpp (operator+=, OidToStr):
+ * pdu.cpp (agent_error_reason):
+
+ Fixed warnings regarding mismatch format specifiers and
+ arguments to sprintf().
+
+Thu May 6 11:05:01 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * gauge.h:
+
+ Nuked trailing white space.
+
+Fri Apr 23 11:23:21 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * oid.cpp:
+
+ Missed some bool return types for equality operators.
+
+Thu Apr 22 23:03:48 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * address.cpp:
+ * address.h:
+ * octet.cpp:
+ * octet.h:
+ * oid.cpp:
+ * oid.h:
+ * target.cpp:
+ * target.h:
+ * vb.cpp:
+ * vb.h:
+
+ Changed all return types for equality, relational and logical
+ operators to "bool", as is the norm for modern C++.
+
+Fri Aug 29 07:57:05 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * octet.cpp (to_string_hex):
+
+ Fixed "string literal converted to char *" warning. String
+ literals are now considered "const" by standard C++.
+
+Tue Mar 16 16:28:14 1999 David L. Levine <levine@cs.wustl.edu>
+
+ * address.cpp, address.h, asn1.cpp, asn1.h, counter.cpp, ctr64.cpp,
+ gauge.cpp, integer.cpp, octet.cpp, oid.cpp, pdu.cpp, sagent.cpp,
+ snmp.cpp, target.cpp, timetick.cpp, transaction.cpp, vb.cpp,
+ wpdu.cpp:
+ replaced TRUE with 1, and FALSE and NULL with 0. Thanks to
+ Achint Sandhu <sandhu@nortelnetworks.com> for reporting that
+ TRUE and FALSE weren't define on his Linux platform.
+
+ * wpdu.cpp (set_trap_info): wrapped condition with () to
+ avoid g++ warning about using result of an assignment as
+ the condition.
+
+ * ctr64.cpp: made MAX64 unsigned, to avoid warning about it
+ being to big to be signed.
+
+Wed Jul 15 20:27:23 1998 Mike MacFaden <mrm@tango.cs.wustl.edu>
+ * asn1.cpp - Hien Nguyen <hnguyen@apexgrp.com> fixed these bugs:
+
+ Problem: The V1 trap agent-addr field tag value is OCTET STRING
+ instead of IPADDRESS, and the time stamp field tag value is INTEGER
+ instead of TIME TICKS.
+
+ Fix: Change cmu_snmp::build() to pass in the correct type for agent-addr
+ and time stamp.
+
+ 2. Problem: The V1 trap enterprise OID is corrupted after is was set in
+ wpdu constructor.
+
+ Fix: In wpdu::set_trap_info(), the raw_pdu enterprise OID pointer was
+ assigned to the raw data of an enterprise Oid object on the stack.
+ Changed to perform an ACE_NEW_RETURN on the raw_pdu->enterprise and
+ perform a memcpy to copy the OID. The allocated memory is freed in
+ cmu_snmp::free_pdu() as currently implemented.
+
+ 3. The V1 trap agent-addr field is currently initialized to "0.0.0.0".
+ I changed wpdu::set_trap_info to initialize it to the local host IP
+ Address.
+
+ 4. I noticed that the memory allocation for OID in asn1.cpp using
+ ACE_NEW consistently use (OID length * size(oid)) as the size.
+ Shouldn't it be simply OID length ? Since there are numerous instances
+ of this usage in asn1.cpp, I have not fixed those. If you can double
+ check and fix these, I appreciate it.
+
+
+Wed Aug 20 15:11:23 1997 Mike MacFaden <mrm@tango.cs.wustl.edu>
+
+ * rebuilt Makefile using g++dep
+
+ * pdu.h pdu.cpp initialization errors fixed
+
+ * address.h address.cpp IpAddress::to_octet() added
+
+Fri Aug 1 19:23:52 1997 Mike MacFaden (mrm@mrm-ss20)
+
+ * NOTES: This first version only tested on Solaris 2.5
+
+ * review classes for thread safety. Current thread design only
+ allows for one thread to safely access any ASNMP object created.
+
+ * run purify test of get routine no -memory leaks.
+
+ * verify both shared archive/static archive types work with
+ example programs
+
+ * << Globals Changes >>
+
+ * tested only archiver library version
+
+ * reformat code to use one brace style.
+
+ * changed all manifest constants defined as _XX to XX_ to stay out
+ of compiler namespace
+
+ * change all OS calls to use ACE_OS:: portability layer, #include
+ <ace/OS.h>
+
+ * reformat code to use one consistent brace layout and redo
+ header using ACE
+
+ * remove semicolons on member functions foo{}; - not necessary
+
+ * make get() methods const member functions
+
+ * removed unnecessary casts that looked like this: and revamped
+ all memory allocations via ACE_NEW macro
+
+ new_oid = (SmiLPUINT32) new unsigned long [ smival.value.oid.len
+
+ To
+
+ ACE_NEW(new_oid, SmiUINT32[ smival.value.oid.len])
+
+ * Collapsed default constructors with constructors to constructors
+ with default arguments.
+
+ * removed unused #include <iostream.h>
+
+ * Added ACE_TRACE() to classes
+
+ * change get_printable() to to_string() - there will be more java
+ programmers in the future so this should be the first step...
+
+ * removed ASYNC interface till it can be rebuilt using ACE patterns
+
+ * Attempt to make interface more type strict but leaving generic
+ interfaces as escape hatch. Example: CTarget becomes UdpTarget
+ for UDP/IP based agents.
+
+ * << Class Specific Changes >>
+
+ * Oid class:
+ - remove char * routines, simplify class
+ - added suboid method and removed get_printable() overloads
+
+ * CTarget class:
+ - renamed to UdpTarget. Stay out of Microsoft Namespace per MSJ
+ Article by Allen Hollub.
+
+ * Varbind class:
+ - remove generic set_value for char,int, etc. Too easy to get
+ this wrong. Allow just types defined.
+ - added overload for equality operator (==)
+ - added new constructor to allow setting full vb state oid,value, exception
+ - add to_string()
+
+ * Address class:
+ - change manifest constants to enums for address lengths, add IP V6 lens
+
+ - add a netbios name class, still pretty worthless since I don't have spec
+ in front of me yet...
+
+ - rewrite resolver calls to be thread safe and cleaner by moving to two
+ class (static) member functions:
+
+ // thread safe routine to lookup ip address given hostname
+ // return <> 0 on error
+ static int resolve_to_addr(const char *hostname, in_addr& quad_addr);
+
+ // thread safe routine to lookup name given ip address
+ // return <> 0 on error
+ static int resolve_to_hostname(const in_addr& quad_addr, char *hostname)
+
+ * added some interrogation routines to class IpAddress:
+ is_loopback() const;
+
+ * Ctr64 class:
+ - added constructor using long long datatype (needs to be made
+ portable to NT
+
+ * Pdu class: add to_string()
+
+ * Classes added wpdu class:
+ - a new adpater class between CMU and HP pdu, varbind data structures
+
+ * transaction class:
+ - implement get/getnext timeout and retry logic using ACE
+ Reactor class, ACE_Time_Value
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/ACE/ChangeLogs/ChangeLog-drwho b/ACE/ChangeLogs/ChangeLog-drwho
new file mode 100644
index 00000000000..2d2b707b4e0
--- /dev/null
+++ b/ACE/ChangeLogs/ChangeLog-drwho
@@ -0,0 +1,399 @@
+Thu Jan 5 00:43:30 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Untabify.
+ Delete-trailing-whitespace.
+
+Wed Jan 4 22:57:37 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Added "Local Variables" section defining "add-log-time-format"
+ to a really ugly lambda expression that formats changelog
+ timestamps in UTC and works with both GNU Emacs and XEmacs.
+
+Mon Nov 28 07:24:01 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * drwho.mpc:
+
+ Added missing "avoid += ace_for_tao" for "server" project.
+
+Sat Nov 26 06:58:23 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * drwho.mpc:
+
+ Added "avoids += ace_for_tao" since this project requires
+ features of ACE not found in the ace_for_tao subset. Addresses
+ build errors.
+
+Sat Apr 30 08:16:42 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * Select_Manager.cpp:
+
+ Fixed syntax error due to missing ACE_RCSID macro definition.
+
+Fri Apr 29 23:54:07 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * Comm_Manager.h:
+ * Select_Manager.h:
+
+ Added virtual destructor to silence g++ 4.0 warnings.
+
+ * Comm_Manager.cpp:
+ * Select_Manager.cpp:
+
+ New files containing virtual destructor definition.
+
+ * Makefile.am:
+ * drwho.mpc:
+
+ Added new Comm_Manager.cpp and Select_Manager.cpp files to the
+ source file list.
+
+Sat Feb 17 08:33:06 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * File_Manager.cpp: Fixed several unreachable statements.
+
+Thu Feb 15 06:00:12 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * server.cpp: Renamed tstamp to time_stamp to avoid conflicts with
+ the pre-processor on the Forte 5.2 compiler. Thanks to Mike
+ Curtis for reporting this.
+
+ * File_Manager.cpp: Fixed "unreachable code" errors reported by
+ Compaq C++.
+
+Thu Nov 16 17:58:10 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * Options.h:
+ Fixed small syntax error.
+
+Sat Nov 4 18:18:06 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * Rwho_DB_Manager.cpp:
+ Add missing #include
+
+Fri Jul 14 14:44:43 2000 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * CM_Server.cpp (receive): Added a cast to (int *) so that
+ certain C++ compilers are happy. Thanks to John Mills
+ <jmills@tga.com> for reporting this.
+
+Tue May 23 20:52:29 2000 David L. Levine <levine@cs.wustl.edu>
+
+ * CM_Server.cpp (receive): one last time. Use
+ ACE_OS::recvfrom instead of the direct system call,
+ so it hides the native socklen_t or whatever the OS
+ uses.
+
+Tue May 23 07:11:53 2000 David L. Levine <levine@cs.wustl.edu>
+
+ * CM_Server.cpp (receive): changed type of local sin_len
+ to be dependent on ACE_HAS_SOCKLEN_T or ACE_HAS_SIZET_SOCKET_LEN.
+ See Mon May 22 21:10:24 2000 David L. Levine <levine@cs.wustl.edu>
+
+Mon May 22 21:10:24 2000 David L. Levine <levine@cs.wustl.edu>
+
+ * CM_Server.cpp (receive): changed type of local sin_len
+ from int to size_t, to avoid warning from g++ on Linux
+ about "change of signedness". Note that it would be
+ better to use ACE_SOCKET_LEN, but that's defined in
+ ace/OS.i. So, it wouldn't be visible with inlining
+ disabled.
+
+Mon May 22 21:07:57 2000 David L. Levine <levine@cs.wustl.edu>
+
+ * BS_Server.cpp (insert): initialize local cmp to 0, to
+ prevent warning from g++ 2.91.66 (on Linux) about possible
+ use without initialization.
+
+Fri May 5 10:40:46 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * Fixed a coule of errors due to mismatches between int and size_t.
+ Thanks to David Levine and Darrell Brunsch for reporting these.
+
+Thu Apr 20 09:20:28 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * Drwho_Node.cpp:
+ * File_Manager.cpp:
+ * HT_Client.cpp:
+ * HT_Server.cpp:
+ * Hash_Table.cpp:
+ * Makefile:
+ * PMC_All.cpp:
+ * PMC_Flo.cpp:
+ * PMC_Ruser.cpp:
+ * PMC_Usr.cpp:
+ * PMS_All.cpp:
+ * PMS_Flo.cpp:
+ * PMS_Ruser.cpp:
+ * PMS_Usr.cpp:
+ * PM_Client.cpp:
+ * PM_Server.cpp:
+ * Protocol_Manager.cpp:
+ * Protocol_Record.cpp:
+ * Rwho_DB_Manager.cpp:
+ * Single_Lookup.cpp:
+ * server.cpp:
+ Fixed many warnings wrt order of fields in the initialization
+ section.
+ Add missing template instantiation.
+ Add missing includes.
+ Fixed problems with the scope of variables declared inside a
+ for() loop.
+
+Wed Sep 30 13:00:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * Fixed a bunch of warnings related to char * and const char *.
+ Thanks to Sandro Doro <doros@aureus.sublink.org> for reporting
+ this.
+
+Sat Sep 12 21:21:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * Made zillions of changes to "ACE"ify all of the code. Drwho is
+ now officially working again!
+
+Sun Sep 6 22:48:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * Replaced all Str::*() methods with the new ACE::*() methods,
+ which are more "standard".
+
+ * Began to work on drwho after a 5 year absence...
+
+Sun Feb 14 16:13:10 1993 Douglas C. Schmidt (schmidt at net1.ics.uci.edu)
+
+ * Yow. Once again back at work... This time I fixed things up so
+ that the release compiles properly with Solaris 2.1 C++, g++
+ 2.3.3, and the Sun C++ compiler on Sun OS 4.1.x. To do this I
+ had to change the user-defined memory allocator somewhat, since
+ the Sun C++ compiler was using the global NEW operator to
+ allocate pools of memory behind my back... Naturally, this
+ reaked havoc with the existing version in the server, which
+ returns all the allocated memory to the free list once a request
+ is satisfied. In addition, g++ had a weird multiple
+ inheritance/pure virtual function bug that I fixed by reordering
+ certain pure virtual functions. Oh what fun... ;-) Anyhow,
+ everything is now back in running order!
+
+Sun Dec 6 16:13:21 1992 Douglas C. Schmidt (schmidt at net1.ics.uci.edu)
+
+ * Yow, well, after about 8 months of total neglect I'm finally
+ back at work on this program! The current changes I did today
+ involved getting drwho to compile with g++ 2.3.2. This required
+ a couple of small work arounds in the source code due to bugs,
+ but hey, I guess it is better than nothing right?!
+
+ Also, I had to fix a couple of places where I didn't correctly
+ initialize static variables (the compiler implementations have
+ changed since last year obviously). Also, I've changed a couple
+ of the default server hosts to reflect the fascist policies of
+ our support group ;-) (I've no longer got access to certain
+ servers...)
+
+ Anyhow, I think drwho is once again running with g++, so now I
+ can hand the release over to Ericka... ;-)
+
+Wed May 6 23:12:02 1992 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * There is something horribly wrong with g++ 2.1. Therefore, I
+ had to make a couple of changes in the pmc-rusers.C and
+ pm-client.C files in order to make the blasted thing compile
+ when I had pointers to member functions... Make sure to change
+ this back when g++ is fixed...
+
+Tue Feb 4 11:23:12 1992 Douglas C. Schmidt (schmidt at net6.ics.uci.edu)
+
+ * The blasted program was crashing when there were consecutive
+ newlines in the input file. I fixed
+ File_Manager::get_login_and_real_name and
+ File_Manager::open_friends_file so that they detect and skip
+ over these consecutive newlines.
+
+Thu Nov 21 21:55:00 1991 Douglas C. Schmidt (schmidt at net6.ics.uci.edu)
+
+ * Make the time that drwho uses to consider a host idle be a
+ command-line parameter.
+
+Wed Nov 13 14:24:40 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * Something else that ought to be done:
+
+ Add a flag to the -R option that allows the hostname to be
+ printed using the internet address and/or the hostname...
+
+Sat Nov 9 13:45:30 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * Added zillions more changes yet again. We now have an rusers
+ compatibility mode (-R), to go along with the -a, -w, and
+ default (flo) options.
+
+ * Changed the -w option so that it only returns the name of the
+ host machine where the user is logged in. This way, I can say:
+
+ % talk schmidt@`drwho -w schmidt`
+ % rsh `drwho -w schmidt` w
+
+ etc... ;-)
+
+ * Added support for the -L option (print using login name rather
+ than real name). Also added support for the -l option (print
+ out verbosely, a la ls -l!).
+
+Sun Oct 27 21:32:15 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * Need to complete the -s and -S options to support sorting the
+ output by login name and real name, respectively... In order to
+ support the '*' indication with this scheme we probably need to
+ lists, one for active and one for inactive users!
+
+Tue Oct 22 00:13:21 1991 Douglas C. Schmidt (schmidt at net6.ics.uci.edu)
+
+ * Make another zillion changes...
+
+Sun Oct 20 21:35:24 1991 Douglas C. Schmidt (schmidt at net6.ics.uci.edu)
+
+ * Added support for the -p option to allow setting the client and
+ server port number from the command-line.
+
+ * Things done so far:
+
+ * Owen also wants an new rflo feature (done)
+
+ I also want a version that given a command like:
+
+ whereis omalley
+
+ would return the login where that login is active if there is
+ one (ie. omalley@zola). Then you could have commands like:
+
+ talk `whereis omalley`
+
+ that would find where I am and try to talk to me there.
+
+ * Another neat addition would be: have an option (e.g., `-a') so
+ that rflo would return *all* the users logged in and then look
+ up their names using the yp passwd stuff! (partially done, but
+ not very elegantly yet...). (done)
+
+ * Make the port number a command-line option... (done)
+
+ * we also need think about how to incorporate inheritance and
+ dynamic binding into this thang (probably it can be used for
+ the local/remote split, and also perhaps for the
+ friends/everyone split (see below)). (done)
+
+ * Fix up the options stuff wrt the -F option etc... (done)
+
+ * Have I fixed the is_active shit? (done)
+
+ * we need a "message abstraction" that abstracts away from the
+ details of packets protocols and remote operations protocols.
+ (done).
+
+ * Note, should make an option so we could read the names of the
+ hosts to query from a file... (done)
+
+Fri Oct 18 16:17:39 1991 Douglas C. Schmidt (schmidt at net6.ics.uci.edu)
+
+ * I've made countless changes...
+
+Wed Oct 16 17:42:40 1991 Douglas C. Schmidt (schmidt at net6.ics.uci.edu)
+
+ * Undid the message manager abstraction and merged it in with the
+ Friend_Manager client and server. This really cleans up the
+ interface!
+
+ * Yow, make zillions of important changes to make the
+ client/server split more explicit... Now the Friend_Manager is
+ split into client and server, the message manager is split, and
+ the communications manager is also split. Each file is much
+ smaller and easier to understand!
+
+Mon Oct 14 18:36:55 1991 Douglas C. Schmidt (schmidt at net1.ics.uci.edu)
+
+ * Added support for the -h and -? options, that print out a long
+ and short usage message, respectively.
+
+Tue Oct 1 09:28:29 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * The -a option works a great deal better too... I added a check
+ in the File_Manager::open_passwd_file routine to strip off the
+ extra subfields in the pw_gecos field, since this info isn't
+ really very useful and makes the "real name" field too long!
+
+ * Added some extra stuff to the Comm_Manager so that I could
+ change the max size of the UDP datagrams that are passed around.
+ As it turns out, I don't really need to do this, but it is more
+ robust this way...
+
+Thu Sep 26 14:00:45 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Make sun3 and sun4 subdirectories to help the build process!
+
+ * Changed the UDP port number from 12346 to 12344 so I wouldn't
+ collide with Owen!
+
+ * There is a weird bus error problem on the sun 4s... Hum...
+
+ * Yow, got everything working again...
+
+ * Still to do:
+
+ * Think about fixing the -f option to work correctly for
+ *relative* filenames...
+
+ * Make UDP_BUFFER_SIZE a command-line option...
+
+ * Modify server.C to be started by inetd.
+
+ * For -a option... if they are a friend, use the name from
+ .friend.dta otherwise use the name from the passwd file.
+
+ * Don't forget about:
+
+ delete Friend_Manager::friend_record;
+ delete Friend_Manager::sorted_record;
+
+ Need to figure out a good way to deal with this!
+
+Mon Sep 23 16:09:46 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Added a neat feature that now allows the user to specify which
+ hosts to examine by specifying an option ('-F') on the
+ command-line that reads the contents of that file and inserts it
+ into the list of files.
+
+Wed Sep 18 10:46:41 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * We need to make all the interfaces throughout rflo much more
+ object-oriented, e.g.:
+
+ * Made a host-manager abstraction to handle all the host
+ machine related operations. This makes the options stuff
+ *much* cleaner!
+
+ * Make rflo compile with g++ 1.37.2! Now it compiles with cfront
+ 2.0, Saber C++ 1.0.1 and g++-1.39.0 and g++-1.37.2.
+
+Tue Sep 17 19:02:47 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Started merging in the stuff Owen did. I'm trying to maintain a
+ consistent programming style... The Owen stuff adds support for
+ timeouts and fixes problems with returning a count of the number
+ of friends!
+
+Wed Sep 4 10:14:51 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Things to do:
+
+ * Add comprehensive daemon support for server.C.
+ * Add timeout stuff in case hosts are down!
+ * Talk to support about making a standard daemon.
+ * Fix the problem with returning the number of friends.
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/ACE/ChangeLogs/ChangeLog-gperf b/ACE/ChangeLogs/ChangeLog-gperf
new file mode 100644
index 00000000000..f02fc22500c
--- /dev/null
+++ b/ACE/ChangeLogs/ChangeLog-gperf
@@ -0,0 +1,2171 @@
+Wed Aug 4 16:24:42 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/Bool_Array.h:
+ * src/Gen_Perf.h:
+ * src/Key_List.h:
+ * src/Options.h:
+ * src/gperf.mpc:
+ Don't use a seperate library, we can't embed gperf as shared library
+ because it has a GPL license
+
+ * src/gperf_export.h:
+ Removed this file.
+
+Mon Jul 13 15:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/Bool_Array.h:
+ * src/Vectors.h:
+ Doxygen changes
+
+Sun Jun 28 03:20:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/*.{h,cpp}:
+ Use doxygen comment tags, small code improvements
+
+ * src/gperf.mpc:
+ Build a shared library that can later be used by gperf
+
+ * src/gperf_export.h:
+ New file
+
+Wed Jul 02 11:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * src/Key_List.cpp:
+
+ Update some missed ACE_OS:: in generated code. This was hi-lighted
+ by test code built with cygwin build which produced:
+ cpp.cpp: In function `const char* in_word_set(const char*, unsigned int)':
+ cpp.cpp:179: error: `strcmp' undeclared (first use this function)
+
+ Original modification done with "ace" changelog entry:
+ Sat Jun 30 05:11:43 UTC 2007 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+ Changed code generated by gperf for usage by the IDL compiler to use functions
+ in ACE_OS instead of raw OS calls.
+
+Wed Sep 20 23:26:33 UTC 2007 Ossama Othman <ossama_othman at symantec dot com>
+
+ * src/Key_List.cpp (output_switch):
+
+ No need to use the ACE_AUTO_PTR_RESET macro. The
+ ACE_Auto_Base_Array_Ptr<> class template provides the reset
+ method.
+
+Mon Oct 24 02:36:08 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * apps/gperf/src/Key_List.cpp:
+
+ Addressed Coverity RESOURCE_LEAK errors.
+
+Thu Sep 21 11:54:54 UTC 2006 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * src/Key_List.cpp (output_hash_function): Fixed a bug where the
+ wrong type is chosen if max_hash_value was == UCHAR_MAX or
+ _USHRT_MAX. Thanks to Jody Hagins <jody at atdesk dot com> for
+ this fix. This fixes bug id 2655.
+
+Tue Mar 14 21:08:12 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
+
+ * apps/gperf/src/Gen_Perf.cpp
+ * apps/gperf/src/Key_List.cpp
+ * apps/gperf/src/List_Node.cpp
+ * apps/gperf/src/Options.cpp
+ Updated these files to solve the warnings when setting up "VC level 4 warnings"
+ on Windows. These warnings include "unreachable code", "assignment within
+ conditional expression", "conversion from some type to another type, possible
+ loss of data", "local variable may be used without having been initialized" and
+ so on.
+ Thanks to Lukas Gruetzmacher <gruetzmacher at ais-dresden dot de> for
+ motivating the fix to these "VC level 4 warnings".
+
+Wed Jan 4 22:55:24 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Untabify.
+ Delete-trailing-whitespace.
+
+ Added "Local Variables" section defining "add-log-time-format"
+ to a really ugly lambda expression that formats changelog
+ timestamps in UTC and works with both GNU Emacs and XEmacs.
+
+Mon Oct 3 13:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/Key_List.cpp:
+ Fixed might be unitialized warning in Cygwin build
+
+Thu Jun 9 18:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/Key_List.cpp:
+ Only generate the base pointer when it is used. Fixes bugzilla 2099.
+ Thanks to Frank Pilhofer <fp@mc.com>
+
+Sat Apr 30 10:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/Key_List.cpp:
+ Use option.key_name() instead of opname_, the key name is passed
+ as -K on the commandline. Thanks to Frank Pilhofer <fp@mc.com>
+
+Fri Apr 29 09:08:39 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * src/Key_List.cpp (output_binary_search_function): Added a
+
+ do {/* null */} while (&base == 0);
+
+ to silence warnings on some compilers. Thanks to Frank Pilhofer
+ <fp@mc.com>.
+
+Fri Aug 5 15:30:00 UTC 2004 Simon Massey <simon.massey@prismtechnologies.com>
+
+ * apps/gperf/tests/gperf_test.mpb
+ * apps/gperf/tests/tests.mpc
+
+ gperf is not built on cross compiled targets, thus tests will not run!
+ Therefore added the dependancy to the build of these test.
+
+Fri Apr 23 21:18:17 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * src/Options.h (operator !=):
+ * src/Options.cpp (operator !=):
+
+ Changed return type to bool, as is the norm in modern C++.
+
+Tue Jan 20 17:13:29 2004 Steve Huston <shuston@riverace.com>
+
+ * version.texi: Something in the autoconf build thought it wise to
+ update the date in this file. It matches the last modification
+ date of gperf.texi.
+
+Thu Jun 19 14:52:05 UTC 2003 Don Hinton <dhinton@dresystems.com>
+
+ * tests/test-1.exp:
+ * tests/test-2.exp:
+ * tests/test-3.exp:
+ * tests/test-4.exp:
+ * tests/test-5.exp:
+ Added (int) casts to expected results to match the new output.
+
+Tue Jun 17 11:38:36 2003 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_lookup_array):
+ * src/Gen_Perf.cpp (run):
+ * src/Key_List.cpp (already_determined):
+ * src/List_Node.cpp (List_Node): Added casts to prevent GCC 3.3
+ from complaining about stupid stuff... Thanks to Bala for
+ reporting this.
+
+Sun Jul 28 17:04:54 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * src/gperf.cpp (main): Only generate the timestamps if the
+ DEBUGGING option ('-d') is enabled. Thanks to Kier Schmitt
+ <SchmittKC@kpt.nuwc.navy.mil> for this suggestion.
+
+Tue Feb 26 23:15:47 2002 Ossama Othman <ossama@uci.edu>
+
+ * gperf.texi:
+
+ Added missing "@dircategory" entry. It is required for proper
+ installation when using `install-info'.
+
+ Use "@direntry" instead of "{START,END}-INFO-DIR-ENTRY"
+ directly.
+
+ * gperf.info:
+
+ Regenerated this file.
+
+Mon Jan 14 14:43:53 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Re-generate dependencies.
+
+Mon Dec 24 12:47:27 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * src/Options.cpp:
+ Add temporary fix until something better shows up, at least it
+ compiles this way!
+
+Sat Sep 22 09:06:10 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * src/Makefile: Removed the rules.lib.GNU file since it didn't
+ seem to be needed and was causing problems for MinGW. Thanks to
+ Jeff McNiel <JMcNiel@datacrit.com> for reporting this.
+
+Wed Sep 19 02:29:37 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Another minor problem in the generated Makefile, i.e. the script
+ continues to break for filenames that contain a '+' sign in them.
+
+Wed Sep 12 16:06:46 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * tests/Makefile:
+
+ Added missing dependency in runtests and entry in realclean for
+ taoout. This fixes a long standing nagging problem.
+
+Sat Sep 8 22:40:21 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * src/Key_List.cpp (output_lookup_array):
+
+ Removed a compilation warning on 64-bit Linux.
+
+Sun Jul 29 12:17:55 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * The following changes fix a bug reported by Karl Proese
+ <karl.proese@mchp.siemens.de> and Jeff Parsons.
+
+ * tests: Patched the *.exp files to include the new WORDLIST_SIZE
+ macro.
+
+ * src/Key_List.cpp: Generate a new const/enum that defines the
+ size of the wordlist array. This is now used to fix a nasty bug
+ where MAX_HASH_VALUE was used instead of WORDLIST_SIZE.
+
+ * src/Key_List.cpp (output_lookup_array): Reformatted the
+ debugging output to make it easier to tell what's going on.
+
+ * tests/tao.exp: Updated this file based on the expected output of
+ the new test example.
+
+ * tests/tao.gperf: Updated this to use a different set of keys since
+ they exercise the range of screwy inputs better than the earlier
+ contents of this file. In particular, this should detect
+ certain nasty bugs that were plaguing GPERF earlier for keyword
+ sets with a large number of duplicates.
+
+ * src/Key_List.cpp (read_keys): Clarified the debugging message
+ to indicate the key links are *static*.
+
+ * src/Options.cpp (parse_args): Fixed a stupid typo...
+
+Sun Jul 1 08:33:56 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Makefile: For some strange reason there was a BIN2 macro
+ but no BIN macro, which caused problems...
+
+ * tests: Added support to check for the condition that caused
+ TAO's IDL compiler to break on keylists that have a large number
+ of duplicates!
+
+ * src/Key_List.cpp (output_lookup_function): Fixed a tiny mistake
+ where "slot < MAX_HASH_VALUE" should have been "slot <=
+ MAX_HASH_VALUE". Thanks to Vsevolod Novikov
+ <novikov@df.nnov.rfnet.ru> and Jeff Parsons
+ <parsons@cs.wustl.edu> for helping to track this down.
+
+Sat Jun 2 13:30:30 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * src/Makefile (INSTALL): Fixed several minor problems with the
+ Makefile so that this will build correctly on mingw. Thanks to
+ Cristian Ferretti <cristian_ferretti@yahoo.com> for pointing
+ this out.
+
+Fri Mar 30 11:30:54 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ And we need to patch dependencies yet another time.
+
+Wed Jan 24 13:44:53 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ And I got nailed by the same problem again:
+ Just doing 'make depend' generates invalid dependencies for some
+ reason, had to manually patch them.
+
+Mon Oct 16 10:34:06 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Just doing 'make depend' generates invalid dependencies for some
+ reason, had to manually patch them.
+
+Fri Apr 21 20:33:11 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Add dependencies for the runtest rule, otherwise parallel builds
+ fail.
+
+Thu Apr 20 09:04:27 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/Makefile:
+ Just running 'make depend' on this file introduces an spurious
+ 'c++' string in the middle of the dependencies. Have no time to
+ figure out why.
+
+Wed Mar 8 17:26:22 2000 Ossama Othman <ossama@uci.edu>
+
+ * src/Key_List.cpp (Key_List, ~Key_List, output_types):
+
+ Fixed memory leaks related to lack of deallocation of variables
+ that were initialized with static strings, and then
+ reinitialized with strings that were dynamically allocated.
+ [Bug 334]
+
+Tue Feb 22 18:25:02 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp,
+ src/Bool_Array.cpp,
+ src/Gen_Perf.cpp,
+ src/Hash_Table.cpp,
+ src/Options.h,
+ src/Options.cpp: Renamed the DEBUG enum to DEBUGGING enum
+ to avoid problems with -DDEBUG is enabled. Thanks to
+ Tobin Bergen-Hill <tbhill@dctd.saic.com> for reporting this.
+
+Sat Nov 13 18:43:53 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp: The code for output_lookup_function() was
+ not being called if option[GLOBAL] was set. Thanks to Eugene
+ Surovegin <ebs@glasnet.ru> for reporting the bug and the fix.
+
+Tue Aug 31 14:47:06 1999 Pradeep Gore <pradeep@flamenco.cs.wustl.edu>
+
+ * Makefile:
+ Fix for Bug#:250 - The Makefile now uses ACE's build commands.
+ This also gets rid of the build warning on egcs when compiling
+ with repo=1. Thanks to David, Ossama, Bala and Yamuna.
+
+Thu Jul 1 09:31:32 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * Makefile:
+ If we are cross compiling we shouldn't compile gperf, it is not
+ going to help anyway, because we could not run it.
+
+Sun Jun 27 20:40:30 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * src/Key_List.cpp: Added some initializers to keep EGCS from
+ complaining.
+
+Wed Jun 23 07:24:58 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_hash_function): Use conditional
+ compilation rather than a runtime check to test if
+ ACE_STANDARD_CHARACTER_SET_SIZE == ACE_EBCDIC_SIZE. This
+ suppresses a warning on DEC UNIX. Thanks to David Levine for
+ reporting this.
+
+Fri Jun 18 16:54:43 1999 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * apps/gperf/src/Key_List.cpp (output_lookup_array): Prefixed
+ debug message with "GPERF".
+
+Thu Jun 17 18:04:30 1999 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
+
+ * tests/test-[1-5].exp: Fixed all the tests to account for the new
+ EBCDIC output.
+
+Thu Jun 17 17:25:00 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_hash_function): Generate an asso_values
+ table that will have the appropriate values for both EBCDIC or
+ ASCII, depending on the platform.
+
+ * src/Key_List.cpp (output_hash_function),
+ src/Gen_Perf.cpp (Gen_Perf),
+ src/Vectors.h: Replaced the use of ALPHA_SIZE with
+ ACE_STANDARD_CHARACTER_SET_SIZE, which works correctly for
+ EBCDIC platforms, as well as ASCII ones. Thanks to
+ Jim Rogers <jrogers@viasoft.com> for this suggestion.
+
+Wed Jun 16 19:08:01 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Key_List.cpp: Fixed the key_word table generation so that it
+ generates the "default fill" string for the null entries in the
+ table. Thanks to Irfan and Naga for helping in this.
+
+Sun Jun 6 15:47:23 1999 Douglas C. Schmidt <schmidt@danzon.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_switch): Make sure to generate "const
+ char *resword;" rather than "char *resword" since otherwise C++
+ compilers correctly complain.
+
+ * tests: Fixed a bunch of warnings related to misuses of "const
+ char *".
+
+Sun Jun 6 10:30:09 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/test-4.exp: Fixed another use of "index". Thanks to David
+ Levine for reporting this.
+
+Sat Jun 5 23:17:39 1999 Douglas C. Schmidt <schmidt@danzon.cs.wustl.edu>
+
+ * Replaced all uses of "index" with "slot" to avoid problems with
+ broken C++ compilers that define a macro called "index".
+
+Tue May 4 14:24:27 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Removed %a flag from -v option and
+ used ACE_OS::exit (0) instead.
+
+Mon Apr 26 15:42:54 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * tests/test-{1,2,3,4,5}.exp: Forgot to update the expected test
+ output to reflect the version string update listed below.
+
+Mon Apr 26 10:42:08 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * src/Version.cpp (version_string): Updated version string to "2.8
+ (ACE version)" since 2.7 is used by the old Cygnus maintained
+ gperf.
+
+ * src/*.{h,cpp}: Updated copyright/distribution information to GPL
+ v2 style notice.
+
+Sun Apr 25 16:16:12 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * mdate-sh: Added this file to the CVS repository. It will be
+ used once the auto{conf,make} integrations are in place.
+
+Sun Apr 25 16:13:40 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * COPYING: Updated to GPL version 2.
+
+Sat Apr 24 18:18:35 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * gperf.1:
+ * gperf.info:
+ * gperf.texi: Added missing quote, cosmetic fix, regenerated
+ gperf.info.
+
+ * src/Key_List.cpp
+ * src/Options.h:
+ * src/Options.cpp: Merged Cygnus patch that allows the user to
+ specify a default fill expression/value in the keyword table.
+ Updated help message with new `-F' option. Made some cosmetic
+ fixes to the help message, too.
+
+ * tests/test.cpp: Minor spelling correction in comment
+
+ * tests/test-6.exp: Updated with new expected gperf output.
+
+Mon Nov 9 23:37:09 1998 Vishal Kachroo <vishal@cs.wustl.edu>
+
+ * src/Key_List.cpp: Fixed the problem with Binary and Linear
+ Search code.
+
+Sat Oct 10 18:40:56 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu>
+
+ * tests/test-6.exp (Usage): copied the output of gperf -h option
+ into test-6.exp. This test was failing because it didn't have
+ the -b option previously. Thanks to David for reporting the
+ failure of tests.
+
+ * src/Options.cpp : Changed the option case 'h' to include the
+ following line " -b/t Code for Linear Search".
+
+Fri Oct 9 01:06:56 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp :
+ * src/Key_List.cpp (output_linear_search_function): Changed option
+ -z to -b for generating linear search. Removed <len> parameter
+ from the lookup code. We dont need <len> in the generated code
+ in the case of linear/binary search options.
+
+Thu Oct 8 17:40:19 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu>
+
+ * src/Gen_Perf.cpp (run): added the linear search changes.
+ * src/Gen_Perf.h : added the linear search changes.
+ * src/Options.cpp : added the linear search changes.
+ * src/Options.h : added the linear search changes.
+ * src/Key_List.cpp : added the linear search changes.
+ * src/Key_List.h : added the linear search changes.
+
+
+Wed Oct 7 01:20:35 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * tests/test-6.exp:
+ Updated thif file to the current help message. Thanks to Hans
+ for reporting this.
+
+Tue Oct 6 11:51:47 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Key_List.cpp (Key_List): Fixed g++ warnings.
+
+Tue Oct 6 02:48:37 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ Thanks to Vishal the following things have been done to get Binary
+ Search code generated from GPERF.
+
+ * src/Options.cpp (parse_args): Added the -B option for the binary
+ search.
+
+ * src/Options.h (enum Option_Type): Added the BINARYSEARCH in the
+ enumeration.
+
+ * src/Key_List.cpp : Added the function
+ output_binary_search_function(void). Changed the output function
+ to include the Binary Search option. Used option[BINARYSEARCH]
+ to distinguish the binary search case from the hashing case.
+
+ * src/Key_List.h : Added the prototype for
+ output_binary_search_function. Also added the key_sort variable
+ to enable sorting based on key values.
+
+Mon Oct 5 18:24:15 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Gen_Perf: Created a new function that allows us to split the
+ binary search and perfect hash logic apart. Thanks to Vishal
+ and Alex for reporting this.
+
+ * src/Key_List.cpp (dump): Fixed the unsigned problems with line
+ 1502 YET again... Thanks to David/Darrell for reporting this.
+
+Sun Oct 4 20:42:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src: Fixed yet another problem with switching from array-based
+ lookups to switch-based lookups. Thanks to Carlos for reporting
+ this.
+
+Sat Oct 3 19:36:52 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.h:
+ * src/Options.cpp:
+ * src/Key_List.h:
+ * src/Key_List.cpp: Reverted all the changes done for Binary
+ Search.
+
+Sat Oct 3 17:51:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tests/test-6.exp: Added the new -B option.
+
+Sat Oct 3 13:47:40 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Key_List.cpp (output_binary_search_function): Added a new
+ line after binary search code.
+
+Sat Oct 3 10:11:15 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Changed the option for binary
+ search to '-B'
+
+Fri Oct 2 21:38:54 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Added the -b option for the binary
+ search.
+
+ * src/Options.h (enum Option_Type): Added the BINARYSEARCH in the
+ enumeration.
+
+ * src/Key_List.cpp : Added the function
+ output_binary_search_function (void). Changed the output
+ function to include the Binary Search option. Used
+ option[BINARYSEARCH] to distinguish the binary search case from
+ the hashing case.
+
+ * src/Key_List.h : Added the prototype for
+ output_binary_search_function. Also added the key_sort variable
+ to enable sorting based on key values.
+
+Thu Oct 1 12:40:59 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp (parse_args): Comments for Vishal to incorporate
+ Binary Seach on to GPERF.
+
+Wed Sep 30 16:55:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tests/Makefile: Updated dependencies, added a realclean target
+ to remove the output from the tests.
+
+Wed Sep 30 12:41:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (dump): Fixed another signed/unsigned int
+ mismatch. Thanks to David Levine for reporting this.
+
+Mon Sep 28 13:18:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests: Updated all the test-*.exp files to reflect the latest
+ "unsigned" changes.
+
+ * src/Key_List.cpp (output_hash_function): Fixed another use of
+ int to be unsigned int.
+
+ * tests/test.cpp: Fixed the signature of in_word_set() to be
+ consistent with the new gperf. Thanks to David Levine and
+ Carlos O'Ryan for this fix.
+
+Sun Sep 27 00:04:18 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (dump): Reverted back to using int for
+ keyword_width to keep certain compilers happy. Thanks to David
+ Levine for reporting this.
+
+ * src/Key_List: MAke sure that we don't generate the lookup table
+ twice if we're forced to change to the switch format.
+
+ * src/Key_List: Replaced the use of "int" with "unsigned int" for
+ parameters and hash values.
+
+ * src/Key_List: Fixed the code so that if we change over to using
+ the switch statement then we use the already generated keyword
+ table appropriately. This prevents unnecessary warnings from
+ some C++ compilers. Thanks to David Levine for reporting this.
+
+ * src/Key_List.cpp (output): If it's not possible to use the
+ lookup_array implementation of -D (e.g., because there aren't
+ enough empty slots in the lookup_array), then default to using
+ -S1 option... This fixes a nasty bug that's been in gperf for
+ years....
+
+ * src/Key_List.cpp: (output_lookup_array): Added a "return 0" to
+ make the C++ compiler happy. Thanks to David for noticing this.
+
+ * tests/c++-res.exp: Added a new test for C++ keywords.
+
+ * tests/corba.gperf: Added a proper test for CORBA keywords.
+
+Sat Sep 26 15:32:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Hash_Table.cpp (find): Fixed a bug in the increment
+ computation that arose if the -n option was given.
+
+ * src: Removed all set_ and get_ prefixes to be more consistent
+ with ACE programming guidelines.
+
+ * src: GPERF now Purifies cleanly.
+
+ * src/Gen_Perf: Cleaned up the code so that if errors occur they
+ get handled properly.
+
+ * src/List_Node: Added a destructor to remove the memory when
+ we're done.
+
+ * src: Continued to tidy up the source code so that it is better
+ designed and Purifies cleanly on shutdown.
+
+ * src/Makefile: Removed the need for libGperf.{a,so}.
+
+ * src/Key_List: Changed read_keys() to return a value so that we
+ can check for errors.
+
+Fri Sep 25 08:54:41 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/Key_List.cpp (Key_List ctor): reordered initializers to
+ match declaration order.
+
+Thu Sep 24 18:20:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List: Changed char_set field to keysig to be consistent
+ with the paper.
+
+ * src/Hash_Table: Renamed operator() to find(). What the heck was
+ I thinking in '92?!
+
+ * src/gperf.cpp (main): Removed the LARGE_STACK_ARRAYS option.
+ This was annoying...
+
+Tue Sep 22 21:30:59 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * tests/corba.exp: added this file, it hadn't been checked in.
+
+Tue Sep 22 18:02:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/Makefile: Added a new test for CORBA keywords.
+
+ * tests: Added a new test for the type of input that is causing
+ problems with TAO's IDL compiler.
+
+ * src/Key_List.cpp (output_lookup_array): Changed the assertion
+ from assert (i != 0) to assert (i >= 0) since I think that's
+ correct... (ah, so THAT's why comments are important thinks the
+ '92 Doug... ;-)).
+
+ * src/Options: Improved the comments for the '-h' option to
+ reflect current reality...
+
+Thu Sep 17 11:42:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (output_lookup_array): Put 'signed' keyword
+ before 'char lookup' to avoid problems on platforms where char
+ is defined as unsigned. Thanks to Margherita Vittone Wiersma
+ <vittone@fndaub.fnal.gov> for reporting this.
+
+Wed Sep 16 19:08:13 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * Makefile: don't run build/run tests on CROSS-COMPILE platforms.
+ Thanks to Raja Ati <rati@montereynets.com> for reporting this
+ problem.
+
+Wed Sep 16 18:18:41 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/Makefile: Changed CFLAGS to CCFLAGS to make aCC happy on
+ HP/UX. Thanks to John Mulhern for reporting this.
+
+Tue Sep 15 18:14:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/test-6.exp (Usage): Fixed the usage so diff should no
+ longer complain... Thanks to David for reporting this.
+
+Tue Sep 15 21:54:07 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * tests/Makefile: filter timestamps from test output so that
+ diffs will pass.
+
+Tue Sep 15 18:14:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests: Updated the expected output to look for 2.7 vs 2.6
+ of gperf.
+
+Thu Sep 10 16:50:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tests/Makefile:
+ The test programs were not linking against ACE.
+
+Tue Sep 8 12:45:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/test.cpp: Added #include "ace/OS.h" so that the ACE_RCSID
+ macro is defined. Thanks to Arturo Montes
+ <mitosys@colomsat.net.co> for reporting this.
+
+Sat Aug 22 08:44:15 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.cpp : Fixed the typo (-V instead of -v) under 'case
+ h' print string.
+
+Fri Aug 21 11:57:57 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/Key_List.cpp (set_output_types): Make sure that we leave an
+ extra space between the struct tag and the wordlist so the
+ compiler doesn't complain. Thanks to Andy Gokhale for reporting
+ this.
+
+ * src/gperf.cpp: Modified the main() program so that it doesn't
+ print the starting time until AFTER we've parsed the arguments.
+
+ * src/Version.cpp: Updated the version to 2.7 to reflect the
+ new changes.
+
+ * src/Options.cpp (operator): Added a new -V option, which just
+ exits with a value of 0. This is useful for checking if gperf
+ exists in the search path. We use the feature in TAO.
+
+ * src: Removed the globally overloaded new operator. This was a
+ portability pain and didn't really improve performance very
+ much.
+
+ * src/Options.cpp (operator): Fixed '%e' to be '%r' to come up to
+ speed with ACE changes.
+
+Sat Aug 15 07:59:58 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/gperf.cpp (main): added ACE_UNUSED_ARGS for argc and
+ argv if ! ACE_HAS_GPERF.
+
+Fri Aug 14 13:47:00 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/new.cpp (delete): aded ACE_UNUSED_ARG (ptr).
+
+Fri Jul 31 18:28:45 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
+
+ * src/Bool_Array.cpp:
+ * src/Gen_Perf.cpp:
+ * src/Hash_Table.cpp:
+ * src/Iterator.cpp:
+ * src/Key_List.cpp:
+ * src/List_Node.cpp:
+ * src/Options.cpp:
+ * src/Vectors.cpp:
+ * src/Version.cpp:
+ * src/gperf.cpp:
+ * src/new.cpp:
+ * tests/test.cpp:
+ Added ACE_RCSID to these files.
+
+Tue Jul 21 09:30:51 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/gperf.cpp (main): added a trivial main () if ! ACE_HAS_GPERF,
+ so that the link succeeds.
+
+Mon Jul 20 16:02:18 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/Makefile: fixed INSTALL. It works with the latest
+ $ACE_ROOT/include/makeinclude/rules.lib.GNU.
+
+Mon Jul 20 15:35:59 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * Wrapped all the files with "#if defined (ACE_HAS_GPERF)" so that
+ it compiles on appropriate platforms.
+
+Sun Jul 19 22:21:17 1998 David L. Levine <levine@cs.wustl.edu>
+
+ * src/new.cpp (new): wrapped assignment with parens where used
+ as a conditional.
+
+ * src/Iterator.cpp (Iterator), List_Node.cpp (List_Node),
+ Hash_Table.cpp (Hash_Table):
+ reordered initializers to match declaration order.
+
+ * src/Hash_Table.cpp (~Hash_Table),
+ * src/Bool_Array.cpp (init): cast sizeof
+ to int to avoid compiler (g++/Linux alpha) warning about
+ mismatch with %d format specifier.
+
+ * src/new.cpp (new): use ACE_THROW_SPEC instead of
+ _RWSTD_THROW_SPEC.
+
+Sun Jul 19 13:11:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * src/new.cpp: Added support for the _RWSTD_THROW_SPEC macro for
+ DEC UNIX. Thanks to David Levine for reporting this.
+
+ * src/Key_List.cpp: Fixed one of those nasty "for loop counter
+ scoping glitches. Again, thanks to David Levine and DEC C++ for
+ catching this. * src/Key_List.cpp (reorder): Clarified the code
+ so that we don't write horrible C-style hacks. Thanks to David
+ Levine and the DEC C++ compiler for finding this one!
+
+Tue Jun 30 15:43:16 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
+
+ * src/Options.h :
+ * src/Options.cpp :
+ * src/Key_List.cpp : Added the following options to gperf.
+ - "-m" To mute warnings. (If -D option is enabled,
+ gperf doesnt say anything about duplicate hash
+ values etc.
+ - "-M" To skip class definition while in C++ mode.
+ - "-J" To skip the line "#include <string.h>" in the
+ output.
+
+Thu May 14 16:37:39 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * src: ACE'ifed most of the gperf source code, yow!
+
+Sun Apr 14 14:31:10 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu)
+
+ * src: Changed things so that there's no longer any use of the
+ Read_Line and Std_Err code. All of this has been pushed into
+ the ACE components, which is where it belongs...
+
+ * src: Changed things so that there's no longer any use of the
+ pointless inheritance in the code. This was a result of my not
+ understanding inheritance back in 1989... ;-)
+
+ * Began to integrate GNU gperf into the ACE release. Started off
+ by bringing the standard GNU version up to date wrt to the
+ changes I made back in 1991!
+
+Tue Oct 10 16:37:28 1995 Mike Stump <mrs@cygnus.com>
+
+ * src/new.cc: Since malloc/delete are not paired, we cannot call
+ free.
+
+Wed Jan 4 12:40:14 1995 Per Bothner <bothner@kalessin.cygnus.com>
+
+ * src/Makefile.in ($(TARGETPROG)): Link with $(LDFLAGS).
+ Patch from John Interrante <interran@uluru.stanford.edu>.
+
+Sat Nov 5 19:12:48 1994 Jason Merrill (jason@phydeaux.cygnus.com)
+
+ * src/Makefile.in (LIBS): Remove.
+
+Tue Oct 18 17:51:14 1994 Per Bothner <bothner@kalessin.cygnus.com>
+
+ * src/std-err.cc: Use stderror, instead of the non-standard
+ sys_nerr and sys_errlist.
+
+Sat Sep 17 22:02:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/key-list.cc (output_hash_function):
+ Patch from William Bader <wbader@CSEE.Lehigh.Edu>.
+
+Fri Jul 15 09:38:11 1994 Per Bothner (bothner@cygnus.com)
+
+ * src/std-err.cc: #include <errno.h>, and only declare
+ extern int errno if errno is not a macro.
+
+Mon May 30 17:29:34 1994 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * Makefile.in (src_all, install): Make sure to add '/' after
+ `pwd` in $rootme, as expected by FLAGS_TO_PASS.
+
+Wed May 11 00:47:22 1994 Jason Merrill (jason@deneb.cygnus.com)
+
+ Make libg++ build with gcc -ansi -pedantic-errors
+ * src/options.h: Lose commas at end of enumerator lists.
+
+Sun Dec 5 19:16:40 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
+
+ * src/hash-table.cc (Hash_Table::~Hash_Table): Don't pass an
+ argument to fprintf, since it's not expecting one.
+
+Fri Nov 26 19:03:18 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/list-node.cc: #undef index, for the sake of broken NeXT,
+
+Thu Nov 4 11:16:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * Makefile.in (install): Use INSTALL_DATA for gperf.1.
+
+Mon Oct 25 18:40:51 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/key-list.cc (Key_List::read_keys): Use POW macro
+ to increase hash table size to power of 2.
+
+ * options.h (LARGE_STACK_ARRAYS): New flag. Defaults to zero.
+ * gen-perf.cc, key-list.cc, read-line.cc:
+ Only stack-allocate large arrays if LARGE_STACK_ARRAYS is set.
+ * main.cc (main): Only call setrlimit (RLIMIT_STACK, ...)
+ if LARGE_STACK_ARRAYS.
+
+Mon Oct 4 17:45:08 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * src/gen-perf.cc: Always use ANSI rand/srand instead of BSDisms.
+
+Wed Aug 18 12:19:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
+
+ * Makefile.in (src_all): Make less verbose output.
+
+Fri May 28 14:01:18 1993 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/gen-perf.cc (Gen_Perf::change): Don't use gcc-specific
+ 2-operand conditional expression.
+ * src/key-list.cc (Key_List::output_lookup_array):
+ Don't use variable-size stack arrays, unless compiled by g++.
+
+Tue May 4 14:08:44 1993 Per Bothner (bothner@cygnus.com)
+
+ Changes (mostly from Peter Schauer) to permit compilation
+ using cfront 3.0 and otherwise be ARM-conforming.
+ * src/key-list.h: class Key_List must use public derivation
+ of base class Std_Err (because Gen_Perf::operator() in gen-perf.cc
+ calls Std_Err::report_error).
+ * src/gen-perf.cc (Gen_Perf::affects_prev), src/hash-table.cc
+ (Hash_Table::operator()): Don't use gcc-specific 2-operand
+ conditional expression.
+ * src/iterator.cc (Iterator::operator()): Don't use gcc-specific
+ range construct in case label.
+ * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
+ src/gen-perf.cc (Gen_Perf::operator(), src/read-line.cc
+ (Read_Line::readln_aux): If not gcc, don't allocate
+ variable-sized arrays on stack.
+ * src/new.cc (operator new): Argument type should be size_t.
+ * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
+ new/cc (::operator new): Don't use non-standard >?= operator.
+
+Tue Apr 27 20:11:30 1993 Per Bothner (bothner@cygnus.com)
+
+ * src/Makefile.in: Define TARGETPROG, and use it.
+
+Mon Apr 19 00:29:18 1993 Per Bothner (bothner@cygnus.com)
+
+ * Makefile.in, configure.in: Re-vamped configure scheme.
+ * gperf.texinfo: Renamed to gperf.texi.
+ * src/bool-array.{h,cc}: ANSIfy bzero->memset.
+
+Sat Jan 30 20:21:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
+
+ * tests/Makefile.in (mostlyclean): Also delete aout, cout, m3out,
+ pout, and preout.
+
+Tue Dec 29 08:58:17 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in: pass $(FLAGS_TO_PASS) to all calls to make.
+ (FLAGS_TO_PASS): added INSTALL, INSTALL_DATA, INSTALL_PROGRAM.
+
+Mon Dec 21 18:46:46 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * tests/expected.* renamed to *.exp to fit in 14 chars.
+ * tests/Makefile.in: Update accordingly.
+ Also rename output.* to *.out.
+ * src/Makefile.in (clean): Remove gperf program.
+
+Wed Dec 9 14:33:34 1992 Per Bothner (bothner@cygnus.com)
+
+ * src/hash-table.cc, src/bool-array.h: ANSIfy bzero->memset.
+
+Thu Dec 3 19:34:12 1992 Per Bothner (bothner@cygnus.com)
+
+ * Makefile.in (distclean, realclean): Don't delete
+ Makefile before recursing.
+
+Fri Nov 6 13:41:49 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * key-list.{h,cc}: Remove MAX_INT (and similar) constant
+ fields from Key_List class, and use INT_MAX (etc) from limits.h.
+ * key-list.{h,cc}, options.{h,cc}, vectors.h: Removed all
+ uses of initialized const fields, as they are non-standard
+ - and their use was easy to do away with. Mostly, just
+ made the constants static non-fields in the .cc file.
+
+Mon Nov 2 13:10:11 1992 Per Bothner (bothner@cygnus.com)
+
+ * tests/Makefile.in: When generating cinset.c, don't pass -C,
+ since -C assumes an ANSI compiler. Add the -C flag (with -a)
+ when generating test.out.3 instead.
+ * tests/expected.out.3: Update accordingly.
+
+Wed Aug 12 11:47:54 1992 Per Bothner (bothner@cygnus.com)
+
+ * Makefile.in: Factor out common flags into $(FLAGS_TO_PASS).
+ * Makefile.in: 'install-info' depends on gperf.info.
+
+Mon Aug 10 11:39:52 1992 Ian Lance Taylor (ian@dumbest.cygnus.com)
+
+ * Makefile.in, src/Makefile.in: always create installation
+ directories.
+
+Mon Jul 20 15:33:21 1992 Mike Stump (mrs@cygnus.com)
+
+ * src/new.cc (operator new): Add cast from void * to char *,
+ since it is not a standard conversion.
+
+Wed Jun 17 16:25:30 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/gen-perf.cc: #include <_G_config.h> for _G_SYSV.
+ * src/key-list.cc: alloca() hair.
+ * src/main.cc (main): Only call getrlimit if _G_HAVE_SYS_RESOURCE.
+ * Makefile,in, {src,test}/Makefile.in: Fix *clean rules.
+
+Fri May 29 13:21:13 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/gen-perf.cc: Replace USG -> _G_SYSV.
+
+Thu May 14 13:58:36 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * src/Makefile.in: Don't pass obsolete flag -DUNLIMIT_STACK.
+ * tests/Makefile.in (clean): Fix.
+
+Sat Mar 7 00:03:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
+
+ * gperf.texinfo: added menu item hook.
+
+Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * Makefile.in, configure.in: removed traces of namesubdir,
+ -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
+ copyrights to '92, changed some from Cygnus to FSF.
+
+Sun Jan 26 19:21:58 1992 Per Bothner (bothner at cygnus.com)
+
+ * tests/Makefile.in: Use re-directed stdin instead of file
+ name in argv. This allows us to remove the filename
+ from the output, the expected output, and hence the diffs.
+ (Note that the input file is in $(srcdir), which we cannot
+ place in the expected out files.)
+ * tests/expected.out.[1235]: Edit out input filename,
+ to match new output.
+
+Mon Nov 4 15:04:41 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * Need to do something about the end-of-line marker being
+ hard-coded to '\n'...
+
+ * Need to do something about the comment character being
+ hard-coded to '#'...
+
+Fri Sep 27 09:30:15 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Fixed a stupid problem with printout out a local enum with the
+ -E option (I forgot to check for the case of 0 duplicates, so it
+ was saying 1 duplicate instead!).
+
+Mon Aug 19 00:39:40 1991 Douglas C. Schmidt (schmidt at javel.ics.uci.edu)
+
+ * Yow, all finished making gperf run with cfront/Saber C++. Not
+ really all that hard, actually, though did need to remove some
+ GNU specific hacks, like dynamically sized arrays and
+ initializing class data members in their declarations, etc.
+
+ * Bumped up the version # to reflect the recent changes.
+
+Sun Aug 18 22:25:32 1991 Douglas C. Schmidt (schmidt at javel.ics.uci.edu)
+
+ * Changed passage of Options::usage function in Options.C to have
+ a leading `&' so that Saber C++ wouldn't complain...
+
+ * Added a new header file called gperf.h that includes system-wide
+ info.
+
+ * Hacked up the release to work with Saber C++! Changed all *.cc
+ files to *.C.
+
+Mon Aug 5 21:18:47 1991 Douglas C. Schmidt (schmidt at net1.ics.uci.edu)
+
+ * Yow, hacked in the nifty changes to the Std_Err error handling
+ abstraction. This now adds format string support for printing
+ out signals and the name of the function when things go wrong.
+ Make changes throughout the source to make use of the new
+ facilities and also to make sure all previous uses of
+ Std_Err::report_error are now prefixed by the name of the class.
+
+Tue Jul 30 00:02:39 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Make sure to add 1 to the Key_List::total_duplicates value when
+ printing it out since any time we have more than zero duplicates
+ we really have two or more duplicates!
+
+ * Added support for the -O (optimize option). This option
+ optimizes the generated lookup function by assuming that all
+ input keywords are members of the keyset from the keyfile.
+
+ * Added #define DUPLICATES and #define HASH_VALUE_RANGE (and of
+ course the enum equivalent) to the generated output. Don't know
+ how useful this will be, but it allows us to determine at a
+ glance whether we've got a minimal perfect hash function (in
+ which case TOTAL_KEYWORDS = HASH_VALUE_RANGE, and DUPLICATES =
+ 0).
+
+ * Fixed a small bug in the Key_List::output_keyword_table routine
+ that caused an extra newline to be printed if there where no
+ leading blank entries... (who cares, right?!)
+
+Mon Jul 29 22:05:40 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Modified the handling of the -E (emit enums rather than
+ #defines) option in conjunction with the -G option. Now, if -G
+ and -E are given the enums are generated outside the lookup
+ function, rather than within it!
+
+ * Yow, as part of my Software Practice and Experience submission
+ writeup I realized I needed to make the # comment character work
+ correctly. Now if you put a backslash character ('\') in front
+ of the # it treats the first character as a #. Naturally, to
+ put a '\' character on the front of the line you need to escape
+ it also, i.e.,
+ \\I'm a line that starts with only one \
+ # I'm a comment line
+ \#define I'm walking a fine line... ;-)
+
+Wed Jun 26 11:21:02 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu)
+
+ * Changed all uses of the identifier `iteration_number' to
+ `generation_number' (also updated the paper!).
+
+Tue Apr 9 07:59:42 1991 Doug Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Had to change a whole bunch of little thangs in key-list.cc and
+ list-node.cc to make the -I option work.
+
+ * Changed an alloca statement in key-list.cc to reflect the
+ strncasecmp modification (i.e., we now need to be able to
+ allocate a longer buffer if the -I option is used).
+
+Mon Apr 8 18:17:04 1991 Doug Schmidt (schmidt at net4.ics.uci.edu)
+
+ * Yucko, there was a bug in the handling of -c (and of course the
+ new -I command in key-list.cc). Apparently when I added the
+ super-duper hack that provided support for duplicate keys I
+ forgot to update the strcmp output...
+
+ * Boy, it has been a *long* time since I hacked this puppy. Let's
+ see, I'm about to add long-overdue support for case-insensitive
+ string comparisons to gperf's generated output code. We are
+ going to employ the hitherto unused option -I to indicate this!
+
+Thu Jun 28 16:17:27 1990 Doug Schmidt (schmidt at brilliant)
+
+ * Wow, first fix on the new job! There was a dumb error
+ in Key_List::output_lookup_function, where I printed the
+ string "&wordlist[key]" instead of the correct "&wordlist[index]".
+
+ * Added a couple of #ifdefs for USG support.
+
+Sun Jun 3 17:16:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Updated the version number to 2.5 and sent to Doug Lea for release
+ with the latest GNU libg++.
+
+ * Changed the error handling when a keyword file cannot be opened
+ (now calls perror).
+
+Wed May 30 14:49:40 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Instrumented the source code with trace statements automagically
+ inserted using my new automated trace instrumentation tool!
+
+Wed May 9 11:47:41 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Really fixed the previous bug. Turns out that a small amount
+ of logic had to be duplicated to handle static links that occur
+ as part of dynamic link chains. What a pain!!!
+
+Tue May 8 23:11:44 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Fixed a stupid bug in Key_List::output_lookup_array that was
+ causing incorrect counts to be generated when there were both
+ static and dynamic links occurring for the same hash value.
+ Also simplified the code that performs the logic in this routine.
+
+Mon Apr 30 17:37:24 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Fixed stupid bug in Key_List::output_lookup_array that was
+ making the generated lookup[] array contain `chars' even
+ when the values stored in the chars are greater than 127!
+
+ * Changed the behavior of the -G (global table) option so that it
+ will output the `length[]' array in the global scope along with
+ the `word_list[]' array.
+
+ * Fixed a stupid bug in Key_List::output_lookup_function that
+ would always output the complicated `duplicate-handling' lookup
+ logic, even when there were no duplicates in the input!
+
+ * Yikes, had to modify a bunch of stuff in key-list.cc to correctly
+ handle duplicate entries. Changed the generated code so that
+ the MIN_HASH_VALUE is no longer subtracted off when calculating
+ the hash value for a keyword. This required changing some other
+ code by substituting MAX_HASH_VALUE for TOTAL_KEYS in several places.
+ Finally, this means that the generated tables may contain leading
+ null entries, but I suppose it is better to trade-off space to get
+ faster performance...
+
+Mon Mar 26 13:08:43 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Updated version number to 2.4 to reflect the latest changes.
+
+ * Changed the main program so that it always prints out gperf's
+ execution timings to the generated output file.
+
+Sun Mar 25 12:39:30 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added the -Z option so that users can specify the name of the
+ generated class explicitly. Updated documentation to reflect
+ this change.
+
+ * Modified the generated C++ class interface so that the functions
+ are declared static (to remove the overhead of passing the `this'
+ pointer). This means that operator()() can no longer be used,
+ since it only works on non-static member functions.
+ Also changed things so that there is no constructor (why waste
+ the extra call, when it doesn't do anything, eh?)
+
+ * Modified the behavior of Key_List::output when the -L C++ option
+ is enabled. Previously the code generated use const data members
+ to record MIN_WORD_LENGTH, MIN_HASH_VALUE, etc. However, as
+ pointed out by James Clark this may result in suboptimal behavior
+ on the part of C++ compilers that can't inline these values.
+ Therefore, the new behavior is identical to what happens with
+ -L C, i.e., either #defines or function-specific enums are used.
+ Why sacrifice speed for some abstract notion of `code purity?' ;-)
+
+Tue Mar 6 18:17:42 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added the -E option that defines constant values using an enum
+ local to the lookup function rather than with #defines. This
+ also means that different lookup functions can reside in the
+ same file. Thanks to James Clark (jjc@ai.mit.edu).
+
+Sat Mar 3 20:19:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Added a special case to key_list::output_switch that doesn't
+ generate extra comparisons when the `-S' is given an argument
+ of 1 (the normal case). This should speed up the generated
+ code output a tad...
+
+Fri Feb 23 14:21:28 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Renamed all instances of member function get_keysig_size
+ to get_max_keysig_size, since this is more precise...
+
+ * Changed all occurrences of charset to keysig (stands for ``key
+ signature'') to reflect the new naming convention used in the
+ USENIX paper.
+
+Thu Feb 22 11:28:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Changed the name of the generated associated values table from
+ asso_value to asso_values to reflect conventions in the USENIX
+ C++ paper.
+
+Thu Feb 15 23:29:03 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Updated the gperf.texinfo file to fix some formatting problems
+ that had crept in since last time.
+
+Wed Feb 14 23:27:24 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed stupid bug in key-list.cc (get_special_input), wher
+ gperf replaced each '%' with the succeeding character.
+
+ * Added support for multiple target language generation. Currently
+ handled languages are C and C++, with C as the default. Updated
+ documentation and option handler to reflect the changes.
+
+ * Added a global destructor to new.cc and removed the #ifdef, since
+ the bloody thing now works with libg++.
+
+Mon Feb 14 13:00:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Found out that my gperf paper was accepted at the upcoming
+ USENIX C++ Conference in San Francisco. Yow!
+
+Tue Jan 30 09:00:29 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * #ifdef'd out the new.cc memory allocator, since there are
+ problems with this and the libg++ stuff.
+
+ * Changed key-list.h so that class Vectors is a public (rather
+ than private) base class for class Key_List. The previous
+ form was illegal C++, but wasn't being caught by the old
+ g++ compiler. Should work now... ;-)
+
+Sun Dec 10 14:08:23 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added several changes from rfg@ics.uci.edu. These changes
+ help to automate the build process.
+
+Wed Nov 15 15:49:33 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Removed conditional compilation for GATHER_STATISTICS. There's
+ really no good reason to avoid collecting this info at run-time,
+ since that section of code is *hardly* the bottleneck... ;-)
+
+ * Simplified the C output routines in Key_List::set_output_types
+ and Key_List::output_keyword_table a bit in order to
+ speed-up and clean up the code generation.
+
+ * Modified function Key_List::get_special_input so that it does
+ not try to `delete' a buffer that turned out to be too short.
+ This is important since the new memory management scheme
+ does not handle deletions. However, adding a small amount of
+ garbage won't hurt anything, since we generally don't do this
+ operation more than a couple times *at most*!
+
+ * Created a new file (new.cc) which includes my own overloaded
+ operator new. This function should dramatically reduce the
+ number of calls to malloc since it grabs large chunks and
+ doles them out in small pieces. As a result of this change
+ the class-specific `operator new' was removed from class List_Node.
+
+Tue Nov 14 21:45:30 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Continued to refine the great hack. The latest trick is to
+ try and replace most uses of dynamic memory (i.e., calls to
+ new) with uses of gcc dynamic arrays (i.e., an alloca solution).
+ This makes life much easier for the overall process-size, since
+ it reduces the amount of overhead for memory management. As a
+ side-effect from this change there is no reason to have the
+ Bool_Array::dispose member function, so it's outta here!
+
+ * Fixed a stupid bug that was an disaster waiting to happen...
+ Instead of making the boolean array large enough to index
+ max_hash_value it was only large enough to index max_hash_value
+ - 1. Once again, an off-by-one mistake in C/C++!!!!
+
+Mon Nov 13 19:38:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the final great hack! This allows us to generate hash tables
+ for near-perfect hash functions that contain duplicates, *without*
+ having to use switch statements! Since many compilers die on large
+ switch statements this feature is essential. Furthermore, it appears
+ that the generated code is often *smaller* than that put out by
+ compilers, even though a large, sparse array must be created.
+ Here's the general idea:
+
+ a. Generate the wordlist as a contiguous block of keywords,
+ just as before when using a switch statement. This
+ wordlist *must* be sorted by hash value.
+
+ b. Generate the lookup array, which is an array of signed
+ {chars,shorts,ints}, (which ever allows full coverage of
+ the wordlist dimensions). If the value v, where v =
+ lookup[hash(str,len)], is >= 0 and < TOTAL_KEYWORDS, then we
+ simply use this result as a direct access into the wordlist
+ array to snag the keyword for comparison.
+
+ c. Otherwise, if v is < -TOTAL_KEYWORDS or > TOTAL_KEYWORDS
+ this is an indication that we'll need to search through
+ some number of duplicates hash values. Using a hash
+ linking scheme we'd then index into a different part of
+ the hash table that provides the starting index and total
+ length of the duplicate entries to find via linear search!
+
+Sun Nov 12 13:48:10 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Simplified Key_List::output_min_max considerably by recognizing
+ that since the keyword list was already sorted by hash value finding
+ the min and max values is trivial!
+
+ * Improved the debugging diagnostics considerably in classes Key_List,
+ Hash_Table, and Gen_Perf.
+
+ * Modified the `-s' option so that a negative argument is now
+ interpreted to mean `allow the maximum associated value to be
+ about x times *smaller* than the number of input keys.' This
+ should help prevent massive explosion of generated hash table
+ size for large keysets.
+
+Sat Nov 11 11:31:13 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added a field in class Key_List that counts the total number
+ of duplicate keywords, both static and dynamic.
+
+ * Added a new member function Bool_Array that deletes the dynamic
+ memory allocated to Bool_Array::storage_array. This space may
+ be needed for subsequent options, so it made sense to free it as
+ soon as possible...
+
+ * Renamed file/class Alpha_Vectors to Vectors, to avoid problems
+ with 14 character length filenames on SYSV. Also changed file
+ adapredefined.gperf to adadefs.gperf in the ./tests directory.
+
+ * Modified class Options by changing the member function
+ Options::total_positions to Options::get_charset_size and
+ Options::set_charset_size. These two routines now either return
+ the total charset size *or* the length of the largest keyword
+ if the user specifies the -k'*' (ALLCHARS) option. This change
+ cleans up client code.
+
+ * Merged all the cperf changes into gperf.
+
+ * Made sure to explicitly initialize perfect.fewest_collisions to
+ 0.
+
+ * Cleaned up some loose ends noticed by Nels Olson.
+ 1. Removed `if (collisions <= perfect.fewest_collisions)'
+ from Gen_Perf::affects_prev since it was superfluous.
+ 2. Removed the fields best_char_value and best_asso_value
+ from Gen_Perf. There were also unnecessary.
+ 3. Fixed a braino in the Bool_Array::bool_array_reset
+ function. Since iteration numbers can never be zero
+ the `if (bool_array.iteration_number++ == 0)' must be
+ `if (++bool_array.iteration_number == 0).'
+ 4. Modified Std_Err::report_error so that it correctly handles
+ "%%".
+
+ * It is important to note that -D no longer enables -S.
+ There is a good reason for this change, which will become
+ manifested in the next release... (suspense!).
+
+ * Made some subtle changes to Key_List::print_switch so that if finally
+ seems to work correctly. Needs more stress testing, however...
+
+ * Made a major change to the Key_List::print_switch function.
+ The user can now specify the number of switch statements to generate
+ via an argument to the -S option, i.e., -S1 means `generate 1
+ switch statement with all keywords in it,' -S2 means generate
+ 2 switch statements with 1/2 the elements in each one, etc.
+ Hopefully this will fix the problem with C compilers not being
+ able to generate code for giant switch statements (but don't
+ hold your breath!)
+
+ * Changed Key_List::length function to Key_List::keyword_list_length.
+
+ * Added a feature to main.c that prints out the starting wall-clock
+ time before the program begins and prints out the ending wall-clock
+ time when the program is finished.
+
+ * Added the GATHER_STATISTICS code in hash-table.c so we can
+ keep track of how well double hashing is doing. Eventually,
+ GATHER_STATISTICS will be added so that all instrumentation
+ code can be conditionally compiled in.
+
+ * Fixed a stupid bug in Key_List::print_switch routine. This
+ was necessary to make sure the generated switch statement worked
+ correctly when *both* `natural,' i.e., static links and dynamic
+ links, i.e., unresolved duplicates, hash to the same value.
+
+ * Modified Bool_Array::~Bool_Array destructor so that
+ it now frees the bool_array.storage_array when it is no longer
+ needed. Since this array is generally very large it makes sense
+ to return the memory to the freelist when it is no longer in use.
+
+ * Changed the interface to constructor Hash_Table::Hash_Table. This
+ constructor now passed a pointer to a power-of-two sized buffer that
+ serve as storage for the hash table. Although this weakens information
+ hiding a little bit it greatly reduces dynamic memory fragmentation,
+ since we can now obtain the memory via a call to alloca, rather
+ than malloc. This change modified Key_List::read_keys calling
+ interface.
+
+ * Since alloca is now being used more aggressively a conditional
+ compilation section was added in main.c. Taken from GNU GCC,
+ this code gets rid of any avoidable limit on stack size so that
+ alloca does not fail. It is only used if the -DRLIMIT_STACK
+ symbol is defined when gperf is compiled.
+
+ * Added warnings in option.c so that user's would be informed
+ that -r superceeds -i on the command-line.
+
+ * Rewrote Gen_Perf::affects_prev. First, the code structure
+ was cleaned up considerably (removing the need for a dreaded
+ goto!). Secondly, a major change occurred so that Gen_Perf::affects_prev
+ returns FALSE (success) when fewest_hits gets down to whatever
+ it was after inserting the previous key (instead of waiting for
+ it to reach 0). In other words, it stops trying if it can
+ resolve the new collisions added by a key, even if there are
+ still other old, unresolved collisions. This modification was
+ suggested by Nels Olson and seems to *greatly* increase the
+ speed of gperf for large keyfiles. Thanks Nels!
+
+ * In a similar vein, inside the Gen_Perf::change routine
+ the variable `perfect.fewest_collisions is no longer initialized
+ with the length of the keyword list. Instead it starts out at
+ 0 and is incremented by 1 every time change () is called.
+ The rationale for this behavior is that there are times when a
+ collision causes the number of duplicates (collisions) to
+ increase by a large amount when it would presumably just have
+ gone up by 1 if none of the asso_values were changed. That is,
+ at the beginning of change(), you could initialize fewest_hits
+ to 1+(previous value of fewest_hits) instead of to the number of
+ keys. Thanks again, Nels.
+
+ * Replaced alloca with new in the Gen_Perf::change function.
+ This should eliminate some overhead at the expense of a little
+ extra memory that is never reclaimed.
+
+ * Renamed Gen_Perf::merge_sets to Gen_Perf::compute_disjoint_union
+ to reflect the change in behavior.
+
+ * Added the -e option so users can supply a string containing
+ the characters used to separate keywords from their attributes.
+ The default behavior is ",\n".
+
+ * Removed the char *uniq_set field from LIST_NODE and modified
+ uses of uniq_set in perfect.c and keylist.c. Due to changes
+ to Gen_Perf::compute_disjoint_sets this field was no longer
+ necessary, and its removal makes the program smaller and
+ potentially faster.
+
+ * Added lots of changes/fixes suggested by Nels Olson
+ (umls.UUCP!olson@mis.ucsf.edu). In particular:
+ 1. Changed Bool_Array so that it would dynamically create
+ an array of unsigned shorts rather than ints if the
+ LO_CAL symbol was defined during program compilation.
+ This cuts the amount of dynamic memory usage in half,
+ which is important for large keyfile input.
+ 2. Added some additional debugging statements that print extra
+ info to stderr when the -d option is enabled.
+ 3. Fixed a really stupid bug in Key_List::print_switch
+ A right paren was placed at the wrong location, which broke
+ strlen ().
+ 4. Fixed a subtle problem with printing case values when keylinks
+ appear. The logic failed to account for the fact that there
+ can be keylinks *and* regular node info also!
+ 5. Changed the behavior of Key_List::read_keys so that it would
+ honor -D unequivocally, i.e., it doesn't try to turn off dup
+ handling if the user requests it, even if there are no
+ immediate links in the keyfile input.
+ 6. Modified the -j option so that -j 0 means `try random values
+ when searching for a way to resolve collisions.'
+ 7. Added a field `num_done' to the Gen_Perf struct. This is used
+ to report information collected when trying to resolve
+ hash collisions.
+ 8. Modified the merge_sets algorithm to perform a disjoint
+ union of two multisets. This ensures that subsequent
+ processing in Gen_Perf::affect_prev doesn't
+ waste time trying to change an associated value that is
+ shared between two conflicting keywords.
+ 9. Modified Gen_Perf::affects_prev so that it doesn't try
+ random jump values unless the -j 0 option is enabled.
+ 10. Fixed a silly bug in Gen_Perf::change. This problem caused
+ gperf to seg fault when the -k* option was given and the
+ keyfile file had long keywords.
+
+Sun Oct 29 00:18:55 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Modified class-specific new operations for Read_Line and
+ List_Node so they don't fail if SIZE is larger than twice
+ the previous buffer size. Note we double buffer size
+ everytime the previous buffer runs out, as a heuristic
+ to reduce future calls to malloc.
+
+Sun Oct 22 13:49:43 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Updated gperf version number to 2.0. Send to Doug Lea for
+ incorporation into the long-awaited `official' libg++ 1.36
+ release!
+
+ * Thanks to Nels Olson a silly bug in Gen_Perf::change ()
+ was fixed. This problem caused gperf to seg fault when
+ the -k* option was given and the keyfile file had long
+ keywords.
+
+ * Modified Key_List::print_hash_function so that it output
+ max_hash_value + 1 (rather than just max_hash_value) for
+ any associated value entries that don't correspond to
+ keyword charset characters. This should speed up rejection
+ of non-keyword strings a little in some cases.
+
+Sat Oct 21 19:28:36 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Fixed Key_List::print_hash_function so that it no longer output
+ things like `return 0 + ...' Although this probably gets
+ optimized away by even the worst C compilers there isn't any
+ point tempting fate... ;-)
+
+ * Fixed class List_Node's constructor so that it wouldn't a priori
+ refuse to consider trying to hash keys whose length is less
+ than the smallest user-specified key position. It turns out
+ this is not a problem unless the user also specifies the -n
+ (NOLENGTH) option, in which case such keys most likely
+ don't have a prayer of being hashed correctly!
+
+ * Changed the name of the generated lookup table from `Hash_Table'
+ to `asso_value' to be consistent with the gperf paper.
+
+Tue Oct 17 14:19:48 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added a flag GATHER_STATISTICS in the Makefile. If defined
+ during compilation this turns on certain collection facilities
+ that track the performance of gperf during its execution. In
+ particular, I want to see how many collisions occur for the
+ double hashing Hash_Table.
+
+ * Added a safety check so that we don't screw up if the total
+ number of `resets' of the Bool_Array exceeds MAX_INT. Since
+ this number is around 2^31 it is unlikely that this would ever
+ occur for most input, but why take the risk?
+
+ * Changed the behavior for the -a (ANSI) option so that the
+ generated prototypes use int rather than size_t for the LEN
+ parameter. It was too ugly having to #include <stddef.h> all
+ over the place...
+
+Mon Oct 16 11:00:35 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Continued to work on the gperf paper for the USENIX C++
+ conference. At some point this will be merged back into
+ the gperf documentation...
+
+Sat Oct 14 20:29:43 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Added a majorly neat hack to Bool_Array, suggested by rfg.
+ The basic idea was to throw away the Ullman array technique.
+ The Ullman array was used to remove the need to reinitialize all
+ the Bool_Array elements to zero everytime we needed to determine
+ whether there were duplicate hash values in the keyword list.
+ The current trick uses an `iteration number' scheme, which takes
+ about 1/3 the space and reduces the overall program running a
+ time by about 20 percent for large input! The hack works as
+ follows:
+
+ 1. Dynamically allocation 1 boolean array of size k.
+ 2. Initialize the boolean array to zeros, and consider the first
+ iteration to be iteration 1.
+ 2. Then on all subsequent iterations we `reset' the bool array by
+ kicking the iteration count by 1.
+ 3. When it comes time to check whether a hash value is currently
+ in the boolean array we simply check its index location. If
+ the value stored there is *not* equal to the current iteration
+ number then the item is clearly *not* in the set. In that
+ case we assign the iteration number to that array's index
+ location for future reference. Otherwise, if the item at
+ the index location *is* equal to the iteration number we've
+ found a duplicate. No muss, no fuss!
+
+Mon Oct 2 12:30:54 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed some consts in options.h to enumerals, since g++
+ doesn't seem to like them at the moment!
+
+Sat Sep 30 12:55:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a stupid bug in Key_List::print_hash_function that manifested
+ itself if the `-k$' option was given (i.e., only use the key[length]
+ character in the hash function).
+
+ * Added support for the -C option. This makes the contents of
+ all generated tables `readonly'.
+
+ * Changed the handling of generated switches so that there is
+ only one call to str[n]?cmp. This *greatly* reduces the size of
+ the generated assembly code on all compilers I've seen.
+
+ * Fixed a subtle bug that occurred when the -l and -S option
+ was given. Code produced looked something like:
+
+ if (len != key_len || !strcmp (s1, resword->name)) return resword;
+
+ which doesn't make any sense. Clearly, this should be:
+
+ if (len == key_len && !strcmp (s1, resword->name)) return resword;
+
+Tue Sep 26 10:36:50 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed class Read_Line's definition so that it no longer
+ needs to know about the buffering scheme used to speed up
+ dynamic memory allocation of input keywords and their
+ associated attributes. This means that operator new is no longer
+ a friend of Read_Line.
+
+Mon Sep 25 23:17:10 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Decided that Obstacks had too much overhead, so they were
+ removed in favor of super-efficient, low-overhead buffered
+ storage allocation hacks in Read_Line and List_Node.
+
+ * No longer try to inline functions that g++ complains about
+ (Key_List::Merge and Key_List::Merge_Sort).
+
+Sun Sep 24 13:11:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed classes Read_Line and List_Node to use Obstacks in order
+ to cache memory allocation for keyword strings and List_Nodes.
+
+ * Continued to experiment with inheritance schemes.
+
+ * Added a new file `alpha.h', that declares static data shared
+ (i.e., inherited) between classes List_Node and Key_List.
+
+Tue Sep 12 16:14:41 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Made numerous changes to incorporate multiple inheritance in
+ gperf.
+
+Wed Aug 16 23:04:08 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -DCOMPILER_FIXED flag to the ./src/Makefile. This
+ implies that people trying to compile gperf need to have a
+ working version of the new g++ compiler (1.36.0).
+
+ * Removed some extra spaces that were being added in the generated
+ C code.
+
+Mon Jul 24 17:09:46 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed PRINT_HASH_FUNCTION and PRINT_LOOKUP_FUNCTION in keylist.c
+ so that the generated functions take an unsigned int length argument.
+ If -a is enabled the prototype is (const char *str, size_t len).
+
+Fri Jul 21 13:06:15 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed a typo in PRINT_KEYWORD_TABLE in keylist.cc that prevented
+ the indentation from working correctly.
+
+ * Fixed a horrible typo in PRINT_KEYWORD_TABLE in keylist.cc
+ that prevented links from being printed correctly.
+
+Tue Jul 18 16:04:31 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed up readline.cc and readline.h so that they work OK
+ with g++ compilers that aren't completely up-to-date.
+ If symbol COMPILER_FIXED is defined then the behavior
+ that works on my more recent version of g++ is enabled.
+
+Sun Jul 9 17:53:28 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed the ./tests subdirectory Makefile so that it
+ uses $(CC) instead of gcc.
+
+Sun Jul 2 21:52:15 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a number of subtle bugs that occurred when -S was
+ combined with various and sundry options.
+
+ * Added the -G option, that makes the generated keyword table
+ a global static variable, rather than hiding it inside
+ the lookup function. This allows other functions to directly
+ access the contents in this table.
+
+ * Added the "#" feature, that allows comments inside the keyword
+ list from the input file. Comment handling takes place in readline.c.
+ This simplifies the code and reduces the number of malloc calls.
+
+ * Also added the -H option (user can give the name of the hash
+ function) and the -T option (prevents the transfer of the type decl
+ to the output file, which is useful if the type is already defined
+ elsewhere).
+
+Thu Jun 22 20:39:39 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Modified many classes so that they would inherit Std_Err as
+ a base class. This makes things more abstract...
+
+Fri Jun 16 14:23:00 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Modified the -f (FAST) option. This now takes an argument.
+ The argument corresponds to the number of iterations used
+ to resolve collisions. -f 0 uses the length of the
+ keyword list (which is what -f did before). This makes
+ life much easier when dealing with large keyword files.
+
+Tue Jun 6 17:53:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -c (comparison) option. Enabling this
+ will use the strncmp function for string comparisons.
+ The default is to use strcmp.
+
+ * Fixed a typo in key_list.cc (PRINT_SWITCH). This caused
+ faulty C code to be generated when the -D, -p, and -t
+ options were all enabled.
+
+Thu May 25 14:07:21 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Once again, changed class Read_Line to overload global operator
+ new. Hopefully, this will work...!
+
+Sun May 21 01:51:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Modified Key_List::print_hash_function () so that it properly
+ formats the associated values in the hash table according to
+ the maximum number of digits required to represent the largest
+ value.
+
+ * Removed the named return value from class Hash_Table's
+ operator (), since this causes a seg fault when -O is enabled.
+ No sense tripping subtle g++ bugs if we don't have to.... ;-)
+
+ * Removed the operator new hack from Read_Line, since this seemed
+ to create horrible bus error problems.
+
+ * Changed many class member functions and data members to be `static',
+ if they don't manipulate this!
+
+Fri May 12 23:06:56 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Changed class Std_Err to use static member functions, a la
+ Ada or Modula 2. This eliminates the need for an explicit
+ error-handler class object.
+
+ * Added the ``named return value'' feature to Hash_Table::operator ()
+ and Bool_Array::operator [], just for the heck of it.... ;-)
+
+ * Changed the previous hack in Read_Line so that we now use
+ the overloaded global `new' instead of NEW_STRING!
+
+Wed May 3 17:36:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Updated to version 1.7. This reflects the recent major changes
+ and the new C port.
+
+ * Modified the GNU getopt.cc routine to have a class-based interface.
+
+ * Fixed a typo in Perfect.cc ~Perfect that prevented the actual maximum
+ hash table size from being printed (maybe the stream classes
+ weren't so bad after all.... ;-).
+
+ * Added support for the -f option. This generates the perfect
+ hash function ``fast.'' It reduces the execution time of
+ gperf, at the cost of minimizing the range of hash values.
+
+Tue May 2 16:23:29 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added an efficiency hack to Read_Line. Instead of making
+ a call to operator NEW (a.k.a. malloc) for each input string
+ a new member function NEW_STRING stores a large buffer from
+ which new strings are carved out, growing the buffer if
+ necessary. It might be useful to add this throughout the
+ program....
+
+ * Removed all unnecessary calls to DELETE. If the program is about
+ to exit it is silly to waste time freeing memory.
+
+ * Added the GNU getopt program to the distribution. This makes
+ GPERF portable to systems that don't include getopt in libc.
+
+ * Added a strcspn member to class Key_List. This also increases
+ portability.
+
+ * Added the get_include_src function from keylist.c as a member
+ function in class Key_List. Hopefully every function is
+ now associated with a class. This aids abstraction and
+ modularity.
+
+ * Ported gperf to C. From now on both K&R C and GNU G++ versions
+ will be supported. There will be two ChangeLog files, one
+ for each version of the program.
+
+Mon May 1 16:41:45 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a bug with -k'*'. This now prints out *all* the cases
+ up to the length of the longest word in the keyword set.
+
+Sun Apr 30 12:15:25 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Removed all use of the stream classes. Too ugly, slow, and
+ not handled by the c++-mode formatter....
+
+ * Modified the handling of links (i.e., keywords that have
+ identical hash values as other keywords). This should
+ speed up hash function generation for keyword sets with
+ many duplicate entries. The trick is to treat duplicate
+ values as equivalence classes, so that each set of duplicate
+ values is represented only once in the main list processing.
+
+ * Fixed some capitialization typos and indentations mistakes in
+ Key_List::print_hash_function.
+
+Sat Apr 29 12:04:03 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Fixed a typo/logico in Key_List::print_switch that prevented
+ the last keyword in the keyword list to be print out. This
+ requires further examination.....
+
+ * Fixed a stupid bug in List_Node::List_node. If the -k'*' option
+ was enabled the KEY_SET string wasn't getting terminated with
+ '\0'!
+
+Fri Apr 28 12:38:35 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Renamed strexp.h and strexp.cc to iterator.h and iterator.cc.
+ Also changed the strexp class to iterator. Continued to work
+ on style...
+
+ * Updated the version number to 1.6. This reflects all the
+ recent changes.
+
+Thu Apr 27 00:14:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -D option that properly handles keyword sets that
+ contain duplicate hash values.
+
+ * Continued the stylistic changes. Added the #pragma once
+ directive to all the *.h files. Removed all #defines and
+ replaced them with static consts. Also moved the key_sort
+ routine from options.cc into the options class as a
+ member function.
+
+Mon Apr 3 13:26:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
+
+ * Made massive stylistic changes to bring source code into
+ conformance with GNU style guidelines.
+
+Thu Mar 30 23:28:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Fixed up the output routines so that they generate code
+ corresponding to the GNU style guidelines.
+
+Sat Mar 11 13:12:37 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed Stderr constructors so that they wouldn't try to
+ use the base class initializer syntax for the static
+ class variable Program_Name. G++ 1.34 is stricter in
+ enforcing the rules!
+
+Fri Mar 10 11:24:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Removed -v and ``| more'' from the Makefile to keep rfg happy...
+
+Thu Mar 2 12:37:30 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Sent latest GNU gperf version 1.5 to Doug Lea for inclusion
+ into libg++ 1.34. Note that there is a small bug with
+ the new %{ ... %} source inclusion facility, since it doesn't
+ understand comments and will barf if %{ or %} appear nested
+ inside the outermost delimiters. This is too trivial of
+ a defect to fix at the moment...
+
+Tue Feb 28 11:19:58 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added the -K option, which allows the user to provide a
+ alternative name for the keyword structure component.
+ The default is still ``name.''
+
+ * Added the LEX and YACC-like ability to include arbitrary
+ text at the beginning of the generated C source code output.
+ This required two new functions Get_Special_Input,
+ Key_List::Save_Include_Src;
+
+ * Fixed memory allocation bug in Key_List::Set_Types.
+ Variable Return_Type needs 1 additional location
+ to store the "*" if the -p option is used.
+
+ * Added code to NULL terminate both Struct_Tag and Return_Type,
+ *after* the strncpy (stupid mistake).
+
+Mon Feb 27 14:39:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added a new option -N. This allows the user to specify the
+ name to be used for the generated lookup function. The
+ default name is still ``in_word_set.'' This makes it
+ possible to completely automate the perfect hash function
+ generation process!
+
+Mon Feb 20 23:33:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Corrected the Hash_Table::operator () function so that
+ *it* is responsible for deciding when a new key has the
+ same signature as a previously seen key. The key length
+ information is now used internally to this function to
+ decide whether to add to the hash table those keys with
+ the same key sets, but different lengths. Before, this
+ was handled by the Key_List::Read_Keys function. However,
+ this failed to work for certain duplicate keys, since
+ they weren't being entered into the hash table properly.
+
+Sun Feb 19 16:02:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Modified class Options by moving the enum Option_Type out
+ of the class. This is to satisfy the new enumeration
+ scope rules in C++.
+
+Sun Jan 15 15:12:09 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Incremented the version number upto 1.4 to reflect the new
+ options that affect the generated code. Send the new
+ distribution off to Michael for use with g++ 1.33.
+
+ * Added a fix to Key_List::Read_Keys so that it checks for links
+ properly when the -n option is used. Previously, it didn't
+ catch obvious links, which caused it to spend large amount
+ of time searching for a solution that could never occur!
+
+ * Modified the Key_List data structure to record *both* the
+ minimum and the maximum key lengths. This information
+ is now computed in Key_List::Read_Keys, and thus
+ Key_List::Print_Min_Max doesn't need to bother.
+
+ * Modified the key position iterator scheme in options.cc to
+ eliminate the need for member function Options::Advance.
+ Now, the Options::Get function performs the advancement
+ automatically, obviating the need for an extra function call.
+
+ * Added the new function Options::Print_Options, to print out
+ the user-specified command line options to generated C
+ output file.
+
+ * Added a new function, Key_List::Print_Keylength_Table,
+ which creates a table of lengths for use in speeding
+ up the keyword search. This also meant that a new
+ option, -l (LENTABLE) is recognized. It controls
+ whether the length table is printed and the comparison
+ made in the generated function ``in_word_set.''
+
+ * Added a comment at the top of the generated C code
+ output file that tells what version of gperf was used.
+ Next, I'll also dump out the command line options
+ as a comment too. Thanks to Michael Tiemann for the
+ feedback on this.
+
+ * Fixed the -n option to make it work correctly with
+ other parts of the program (most notably the Perfect::Hash
+ function and the computation of minimum and maximum lengths.
+
+Fri Jan 13 21:25:27 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Realized the the need to add a test that will enable
+ optimziation of the generated C code in the ``hash'' function
+ by checking whether all the requested key positions are
+ guaranteed to exist due to the comparison in `in_word_set.''
+ I'll put this in soon....
+
+Thu Jan 12 20:09:21 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Added pascal, modula3, and modula2 tests inputs to the
+ Makefile
+
+ * Recognised that there is a bug with the -n option. However
+ I'm too busy to fix it properly, right now. The problem
+ is that the generated #define end up being 0, since that's
+ my hack to make -n work. This needs complete rethinking!
+
+Tue Jan 10 00:08:16 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Added a new option, -n, that instructs gperf to not use the
+ length of an identifier when computing the hash functions.
+ I'm not sure how useful this is!
+
+ * Retransmitted the distribution to rocky.oswego.edu. Hopefully,
+ this will work!
+
+ * Began fixing the indentation and capitalization to conform
+ to the GNU coding guidelines.
+
+Mon Jan 9 22:23:18 1989 Doug Schmidt (schmidt at pompe.ics.uci.edu)
+
+ * Fixed horrible bug in Read_Line::Readln_Aux. This was
+ a subtle and pernicous off-by-1 error, that overwrote
+ past the last character of the input string buffer. I
+ think this fault was killing the vax!
+
+ * Yow, fixed an oversight in List_Node::List_Node, where the
+ pointer field Next was uninitialized. Luckily, the new routine
+ seems to return 0 filled objects the first time through!
+
+Sun Jan 8 13:43:14 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Modified the ``key linked'' diagnostic in Key_List::Read_Keys
+ to be more helpful and easy to read.
+
+ * Fixed the List_Node::List_Node so that it would ignore trailing
+ fields if the -t option was not enabled.
+
+ * Moved the List_Node declarations out of keylist.h and
+ into a file of its own, called listnode.cc and listnode.h
+ Made Set_Sort a member function of class List_Node.
+
+ * Massively updated the documentation in the gperf.texinfo file.
+
+ * Polished off the major revision to the print functions,
+ added a few new tests in the Makefile to check for the
+ validity of the program and ftp'ed the entire distribution
+ off to Doug Lea for libg++. ( changed it to
+ 1.3 to reflect the major changes with the generated
+ C code ).
+
+ * Fixed Key_List::Print_Switch to deal with the -p and -t options.
+ This meant that the ``still-born'' function Key_List::
+ Print_Type_Switch was superflous, so I removed it.
+ Also, removed the restriction in Option that the -p and
+ -t options couldn't be used simultaneously.
+
+ * Modified List_Node::List_Node, to perform only 1 call to
+ ``new'' when dynamically allocating memory for the Key_Set
+ and the Uniq_Set.
+
+Sat Jan 7 14:10:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
+
+ * Fixed a big bug with the new policy of nesting the
+ wordlist inside of generated function ``in_word_set.''
+ I'd forgotten to declare the wordlist array as static!
+ ( arrgh ).
+
+ * Added a new function Key_List::Set_Types, that figures out
+ the return type for generated function ``in_word_set,''
+ the user-defined ``struct tag,'' if one is used, and also
+ formates the array type for the static local array.
+
+ * Changed the print routines to take advantage of the
+ new -p option.
+
+ * Began adding the hooks to allow the return of a pointer
+ to a user defined struct location from the generated
+ ``in_word_set'' function instead of the current 0 or 1
+ return value. Created function Key_List::Print_Type_Switch
+ and added option -p to class Option, allowing the user to
+ request generation of the aforementioned pointers returned
+ instead of booleans.
+
+ * Put in checks in class Option to make sure that -S and -t
+ options are not used simultaneously. This restriction
+ will be removed in subsequent releases, once I decide on
+ a clean way to implement it.
+
+ * Sent version 1.2 to Doug Lea for possible inclusion into
+ the libg++ distribution.
+
+ * Moved the static word_list array inside the generated function
+ in_word_set. This supports better data hiding.
+
+ * Added a texinfo file, gperf.texinfo
+
+ * Revised the Makefile to cleanup the droppings from texinfo
+ and changed the name of gperf.cc and gperf.h to perfect.cc
+ and perfect.h.
+
+Fri Jan 6 13:04:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
+
+ * Implemented the switch statement output format. Much better
+ for large datasets in terms of space used.
+
+ * Added new functions to break up the Key_List::Output function.
+ Functions added were Key_List::Print_Switch,
+ Key_List::Print_Min_Max, Key_List::Print_Keyword_Table,
+ Key_List::Print_Hash_Function, and
+ Key_List::Print_Lookup_Function. This simplifies the big mess
+ in Key_List::Output considerably!
+
+ * Added switch statement option to Options, which potentially
+ trades time for space in the generated lookup code.
+
+Thu Jan 5 22:46:34 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
+
+ * Released version 1.1
+
+ * Fixed a bug with Gperf::Merge_Set, it was skipping letters
+ shared between the Set_1 and Set_2.
+
+ * Added the optimal min/max algorithm in Key_List::Output. This
+ runs in O (3n/2), rather than O (2n) time.
+
+ * Changed Gperf::Sort_Set to use insertion sort, rather than
+ bubble sort.
+
+ * Added a check in Key_List::Output for the special case where
+ the keys used are 1,$. It is possible to generate more
+ efficient C code in this case.
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End: