diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2019-03-13 09:53:41 +0100 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2019-03-13 09:53:41 +0100 |
commit | 00dca1ae00e03eaa351634028048dc6e8b7eacbf (patch) | |
tree | 20e0e337750575e6aa5431a86ef93cd79d401c07 /ACE/apps | |
parent | 0fdf4448805f57fcaab4ac7171004ae4bf73ee3c (diff) | |
download | ATCD-00dca1ae00e03eaa351634028048dc6e8b7eacbf.tar.gz |
Moved all changelogs to the ChangeLogs directory
Diffstat (limited to 'ACE/apps')
-rw-r--r-- | ACE/apps/JAWS/ChangeLog | 1053 | ||||
-rw-r--r-- | ACE/apps/drwho/ChangeLog | 399 | ||||
-rw-r--r-- | ACE/apps/gperf/ChangeLog | 2171 |
3 files changed, 0 insertions, 3623 deletions
diff --git a/ACE/apps/JAWS/ChangeLog b/ACE/apps/JAWS/ChangeLog deleted file mode 100644 index 79562d051a9..00000000000 --- a/ACE/apps/JAWS/ChangeLog +++ /dev/null @@ -1,1053 +0,0 @@ -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/apps/drwho/ChangeLog b/ACE/apps/drwho/ChangeLog deleted file mode 100644 index 2d2b707b4e0..00000000000 --- a/ACE/apps/drwho/ChangeLog +++ /dev/null @@ -1,399 +0,0 @@ -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/apps/gperf/ChangeLog b/ACE/apps/gperf/ChangeLog deleted file mode 100644 index f02fc22500c..00000000000 --- a/ACE/apps/gperf/ChangeLog +++ /dev/null @@ -1,2171 +0,0 @@ -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: |