diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 2005-08-08 12:17:50 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 2005-08-08 12:17:50 +0000 |
commit | 048138e14842ace4505e8289937fd738cb79c7bb (patch) | |
tree | d610defdb83a143d1cfa69b1422827ba7b348afb | |
parent | 93de9ae564569b98211e0336d69a15d24281aba0 (diff) | |
download | ATCD-048138e14842ace4505e8289937fd738cb79c7bb.tar.gz |
ChangeLogTag:Sat Aug 6 17:25:04 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
-rw-r--r-- | ChangeLog | 47 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-04a | 4 | ||||
-rw-r--r-- | THANKS | 3 | ||||
-rw-r--r-- | ace/Asynch_Acceptor.cpp | 2 | ||||
-rw-r--r-- | ace/Asynch_Acceptor.h | 2 | ||||
-rw-r--r-- | ace/Asynch_Connector.cpp | 2 | ||||
-rw-r--r-- | ace/Asynch_Connector.h | 2 | ||||
-rw-r--r-- | ace/DEV_Addr.cpp | 9 | ||||
-rw-r--r-- | ace/DEV_Addr.h | 1 | ||||
-rw-r--r-- | ace/Message_Block_T.cpp | 1 | ||||
-rw-r--r-- | ace/OS_NS_stdio.h | 3 | ||||
-rw-r--r-- | ace/OS_NS_stdio.inl | 20 | ||||
-rw-r--r-- | ace/Process.cpp | 10 | ||||
-rw-r--r-- | ace/Svc_Conf.l | 2 | ||||
-rw-r--r-- | ace/WIN32_Proactor.cpp | 8 |
15 files changed, 89 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog index 9517d1cfd3a..82b1a5577c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,36 @@ +Sat Aug 6 17:25:04 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ace/Svc_Conf.l: Removed the ' and " characters to avoid + problems with Lex. Thanks to Rohini Madhavan <ro_madhavan at + sify dot com> and Brian Buesker <bbuesker at qualcomm dot com> + for helping with this. + +Wed Aug 3 12:35:23 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ace/Asynch_Acceptor.{h,cpp}: + * ace/Asynch_Connector.{h,cpp}: Fixed the code so it doesn't try + to build on Windows CE. Thanks to Alan Anderson + <Alan.Anderson@sdsmt.edu> for reporting this. + + * ace/DEV_Addr.cpp (set): NULL-terminate the devname_ string. + Thanks to James Damour <james.damour@request.com> for reporting + this problem. + +Tue Aug 2 14:01:39 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * THANKS: Added Abdel Rigumye <rigumyea at ociweb dot com>, + who is the 2000th contributor to ACE+TAO+CIAO!!!! + +Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ace/Process.cpp (command_line): Changed the use of + ACE_OS::vsprintf() to use the new ACE_OS::vsnprintf(). Thanks + to Xue for this suggestion, as well. + + * ace/OS_NS_stdio.{h,inl}: Added support for ACE_OS::vsnprintf(). + Thanks to Xue Yong Zhi <seclib at seclib dot com> for this + suggestion. + Mon Aug 8 08:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl> * bin/tao_orb_tests.lst: @@ -186,13 +219,13 @@ Sat Jul 23 16:36:36 2005 Jaiganesh B <jai@dre.vanderbilt.edu> Fri Jul 22 16:31:29 2005 Steve Huston <shuston@riverace.com> - * ace/Basic_Types.h: The change from: - Fri Jul 8 15:42:18 2005 Steve Huston <shuston@riverace.com> - turned a previous warning into an error on newer g++ versions. - Instead, moved the __hi_lo struct definition out of the anonymous - union and renamed it to not be a compiler-private name (with 2 - leading underscores). This should resolve all the issues. Thanks - to Simon Massey for figuring this out. + * ace/Basic_Types.h: The change from: + Fri Jul 8 15:42:18 2005 Steve Huston <shuston@riverace.com> + turned a previous warning into an error on newer g++ versions. + Instead, moved the __hi_lo struct definition out of the + anonymous union and renamed it to not be a compiler-private name + (with 2 leading underscores). This should resolve all the + issues. Thanks to Simon Massey for figuring this out. Fri Jul 22 11:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl> diff --git a/ChangeLogs/ChangeLog-04a b/ChangeLogs/ChangeLog-04a index ef6f670b638..0c4668dfbb2 100644 --- a/ChangeLogs/ChangeLog-04a +++ b/ChangeLogs/ChangeLog-04a @@ -6965,8 +6965,8 @@ Thu Mar 11 08:47:55 2004 Douglas C. Schmidt <schmidt@cs.wustl.edu> completion has been posted, which is wrong. To fix the problem, those two operations must be swapped: FIRST post a completion, THEN signal the event. Thanks to Enrico Detoma - <enrico.detoma@email.it> for reporting this. This closes bugid - 1763. + <enrico.detoma@email.it> and Ishay Green <Ishay@onigma.com> + for reporting this. This closes bugid 1763. Thu Mar 11 16:36:09 2004 Kobi Cohen-Arazi <kobi-co@barak-online.net> @@ -2008,6 +2008,9 @@ Friedhelm Wolf <Friedhelm dot wolf at gmx dot de> Frederick Heckel <fwph at cse dot wustl dot edu> Ian Zagorskih <ianzag at megasignal dot com> Olivier Guérin <guerin35 at hotmail dot com> +Abdel Rigumye <rigumyea at ociweb dot com> +James Damour <james dot damour at request dot com> +Alan Anderson <Alan dot Anderson at sdsmt dot edu> Vito Bico <vbica at qualcomm dot com> I would particularly like to thank Paul Stephenson, who worked with me diff --git a/ace/Asynch_Acceptor.cpp b/ace/Asynch_Acceptor.cpp index 348f2da9e8c..6bf4ab5c313 100644 --- a/ace/Asynch_Acceptor.cpp +++ b/ace/Asynch_Acceptor.cpp @@ -12,7 +12,7 @@ ACE_RCSID(ace, Asynch_Acceptor, "$Id$") -#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) +#if (defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)) && !defined(ACE_HAS_WINCE) // This only works on platforms that support async i/o. #include "ace/OS_Errno.h" diff --git a/ace/Asynch_Acceptor.h b/ace/Asynch_Acceptor.h index f92bff9a884..27efe871c0f 100644 --- a/ace/Asynch_Acceptor.h +++ b/ace/Asynch_Acceptor.h @@ -20,7 +20,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) +#if (defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)) && !defined(ACE_HAS_WINCE) // This only works on platforms that support async i/o. #include "ace/Default_Constants.h" diff --git a/ace/Asynch_Connector.cpp b/ace/Asynch_Connector.cpp index 9773be0421d..1fbbcc512e7 100644 --- a/ace/Asynch_Connector.cpp +++ b/ace/Asynch_Connector.cpp @@ -12,7 +12,7 @@ ACE_RCSID(ace, Asynch_Connector, "$Id$") -#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) +#if (defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)) && !defined(ACE_HAS_WINCE) // This only works on platforms that support async I/O. #include "ace/OS_NS_sys_socket.h" diff --git a/ace/Asynch_Connector.h b/ace/Asynch_Connector.h index 91df697c275..d7bf516cecf 100644 --- a/ace/Asynch_Connector.h +++ b/ace/Asynch_Connector.h @@ -20,7 +20,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#if defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS) +#if (defined (ACE_WIN32) || defined (ACE_HAS_AIO_CALLS)) && !defined(ACE_HAS_WINCE) // This only works on platforms that support async i/o. #include "ace/Asynch_IO.h" diff --git a/ace/DEV_Addr.cpp b/ace/DEV_Addr.cpp index f954067ce3d..9bf976fe8b8 100644 --- a/ace/DEV_Addr.cpp +++ b/ace/DEV_Addr.cpp @@ -69,9 +69,12 @@ ACE_DEV_Addr::set (const ACE_DEV_Addr &sa) 0, sizeof this->devname_); else - (void) ACE_OS::memcpy ((void *) &this->devname_, - (void *) &sa.devname_, - sa.get_size ()); + { + (void) ACE_OS::memcpy ((void *) &this->devname_, + (void *) &sa.devname_, + sa.get_size () - 1); + this->devname_[sa.get_size () - 1] = ACE_TCHAR (0); + } return 0; } diff --git a/ace/DEV_Addr.h b/ace/DEV_Addr.h index d7825302eaf..e5cdfeb5504 100644 --- a/ace/DEV_Addr.h +++ b/ace/DEV_Addr.h @@ -10,7 +10,6 @@ */ //========================================================================== - #ifndef ACE_DEV_ADDR_H #define ACE_DEV_ADDR_H diff --git a/ace/Message_Block_T.cpp b/ace/Message_Block_T.cpp index d3120c13e68..70621872a19 100644 --- a/ace/Message_Block_T.cpp +++ b/ace/Message_Block_T.cpp @@ -3,7 +3,6 @@ #if !defined (ACE_MESSAGE_BLOCK_T_C) #define ACE_MESSAGE_BLOCK_T_C - ACE_RCSID(ace, Message_Block_T, "$Id$") #include "ace/Malloc_Base.h" /* Need ACE_Allocator */ diff --git a/ace/OS_NS_stdio.h b/ace/OS_NS_stdio.h index a183126d63a..d1570b5dd02 100644 --- a/ace/OS_NS_stdio.h +++ b/ace/OS_NS_stdio.h @@ -399,6 +399,9 @@ namespace ACE_OS { ACE_NAMESPACE_INLINE_FUNCTION int vsprintf (char *buffer, const char *format, va_list argptr); + ACE_NAMESPACE_INLINE_FUNCTION + int vsnprintf (char *buffer, size_t maxlen, const char *format, va_list argptr); + # if defined (ACE_HAS_WCHAR) ACE_NAMESPACE_INLINE_FUNCTION int vsprintf (wchar_t *buffer, const wchar_t *format, va_list argptr); diff --git a/ace/OS_NS_stdio.inl b/ace/OS_NS_stdio.inl index 08629d02112..a15596a315b 100644 --- a/ace/OS_NS_stdio.inl +++ b/ace/OS_NS_stdio.inl @@ -16,7 +16,6 @@ # define ACE_SPRINTF_ADAPTER(X) X #endif /* ACE_HAS_CHARPTR_SPRINTF */ - #if defined (ACE_PSOS) ACE_INLINE int isatty (int h) @@ -1020,6 +1019,25 @@ ACE_OS::vsprintf (char *buffer, const char *format, va_list argptr) return ACE_SPRINTF_ADAPTER (::vsprintf (buffer, format, argptr)); } +ACE_INLINE int +ACE_OS::vsnprintf (char *buffer, size_t maxlen, const char *format, va_list ap) +{ +# if !defined (ACE_WIN32) || (defined (__BORLANDC__) && (__BORLANDC__ >= 0x600)) + ACE_OSCALL (ACE_SPRINTF_ADAPTER (::vsnprintf (buf, maxlen, format, ap)), + int, -1, result); +# else + ACE_OSCALL (ACE_SPRINTF_ADAPTER (::_vsnprintf (buf, maxlen, format, ap)), + int, -1, result); + // Win32 doesn't regard a full buffer with no 0-terminate as an + // overrun. + if (result == static_cast <int> (maxlen)) + result = -1; + + // Win32 doesn't 0-terminate the string if it overruns maxlen. + if (result == -1) + buf[maxlen-1] = '\0'; +} + #if defined (ACE_HAS_WCHAR) ACE_INLINE int ACE_OS::vsprintf (wchar_t *buffer, const wchar_t *format, va_list argptr) diff --git a/ace/Process.cpp b/ace/Process.cpp index 5e3adf731fb..bb82f1a16be 100644 --- a/ace/Process.cpp +++ b/ace/Process.cpp @@ -939,10 +939,14 @@ ACE_Process_Options::command_line (const ACE_TCHAR *format, ...) va_list argp; va_start (argp, format); + if (command_line_buf_len_ < 1) + return -1; + // sprintf the format and args into command_line_buf__. - ACE_OS::vsprintf (command_line_buf_, - format, - argp); + ACE_OS::vsnprintf (command_line_buf_, + command_line_buf_len - 1, + format, + argp); // Useless macro. va_end (argp); diff --git a/ace/Svc_Conf.l b/ace/Svc_Conf.l index 2204e0a471b..8943882cdf7 100644 --- a/ace/Svc_Conf.l +++ b/ace/Svc_Conf.l @@ -51,7 +51,7 @@ inactive { return token (ACE_INACTIVE); } "{" { return token ('{'); } "}" { return token ('}'); } {string} { - /* Remove trailing quote character (' or ") */ + /* Remove trailing double quote character */ ACE_TCHAR *s = ACE_OS::strrchr (yytext, yytext[0]); ACE_ASSERT (s != 0); diff --git a/ace/WIN32_Proactor.cpp b/ace/WIN32_Proactor.cpp index 0836c6ae69e..56bd9ceb779 100644 --- a/ace/WIN32_Proactor.cpp +++ b/ace/WIN32_Proactor.cpp @@ -517,7 +517,7 @@ ACE_WIN32_Proactor::handle_signal (int, siginfo_t *, ucontext_t *) for (ACE_Time_Value timeout (0, 0); ; - ) + ) { result = this->handle_events (timeout); @@ -631,7 +631,7 @@ ACE_WIN32_Proactor::handle_events (unsigned long milli_seconds) // so pass this "result_err" code // to the application_specific_code () - if ( result_err == 0 ) + if (result_err == 0) result_err = errno ; this->application_specific_code (asynch_result, @@ -678,7 +678,7 @@ ACE_WIN32_Proactor::post_completion (ACE_WIN32_Asynch_Result *result) DWORD bytes_transferred = 0; const void * completion_key = 0 ; - if ( result != 0 ) + if (result != 0) { // This cast is ok since the original API calls restricted the transfer // counts to DWORD range. @@ -696,7 +696,7 @@ ACE_WIN32_Proactor::post_completion (ACE_WIN32_Asynch_Result *result) bytes_transferred, // xfer count comp_key, // completion key result // overlapped - ) == FALSE) + ) == FALSE) { delete result; |