summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2007-08-13 07:04:43 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2007-08-13 07:04:43 +0000
commit71f8551332d68ad478992becb7f226f5a2002153 (patch)
tree49e1c05b0e4485390b83e8c3fdc0f6d0877bf18e
parent90db25ffa77149e4fbba9e8900c58f26a6712345 (diff)
downloadATCD-71f8551332d68ad478992becb7f226f5a2002153.tar.gz
Mon Aug 12 07:03:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r--ACE/ChangeLog7
-rw-r--r--ACE/THANKS1
-rw-r--r--ACE/ace/Log_Msg_IPC.cpp8
3 files changed, 14 insertions, 2 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 0c5718a9328..413e2bc22ce 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,10 @@
+Mon Aug 12 07:03:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg_IPC.cpp:
+ Fixed wrong calculation of payload size when unicode is enabled.
+ Thanks to David Beck <davidbeck at acm dot org> for reporting this.
+ This fixes bugzilla 3038
+
Mon Aug 12 04:40:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/config-linux-common.h:
diff --git a/ACE/THANKS b/ACE/THANKS
index 77fc02f851c..0394d7d0d2d 100644
--- a/ACE/THANKS
+++ b/ACE/THANKS
@@ -2218,6 +2218,7 @@ Hal Black <hal dot black at gmail dot com>
Peter Korf <peter at niendo dot de>
Norbert Thoden <thoden at rheinmetall-de dot com>
Premkumar P <kumaran dot prem at gmail dot com>
+David Beck <davidbeck at acm dot org>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson in the early 1990's. Paul devised the recursive Makefile
diff --git a/ACE/ace/Log_Msg_IPC.cpp b/ACE/ace/Log_Msg_IPC.cpp
index eb88c7ed2c2..82411a3cf92 100644
--- a/ACE/ace/Log_Msg_IPC.cpp
+++ b/ACE/ace/Log_Msg_IPC.cpp
@@ -49,13 +49,17 @@ ACE_Log_Msg_IPC::log (ACE_Log_Record &log_record)
{
// Serialize the log record using a CDR stream, allocate enough
// space for the complete <ACE_Log_Record>.
- size_t max_payload_size =
+ size_t const max_payload_size =
4 // type
+ 4 // pid
+ 12 // timestamp
+ 4 // process id
+ 4 // data length
- + log_record.msg_data_len () // message
+#if defined (ACE_USES_WCHAR)
+ + (log_record.msg_data_len () * ACE_OutputCDR::wchar_maxbytes()) // message
+#else
+ + log_record.msg_data_len () // message
+#endif
+ ACE_CDR::MAX_ALIGNMENT; // padding;
// Insert contents of <log_record> into payload stream.