From 0e7d8fec07b718ad4a2911d2ce41279965350781 Mon Sep 17 00:00:00 2001 From: coryan Date: Fri, 10 Mar 2000 19:32:05 +0000 Subject: ChangeLogTag:Fri Mar 10 11:27:04 2000 Carlos O'Ryan --- ChangeLog | 7 +++++++ ChangeLogs/ChangeLog-02a | 7 +++++++ ChangeLogs/ChangeLog-03a | 7 +++++++ ace/CDR_Stream.i | 8 ++++++-- 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f8fe64ab78f..678880135df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 10 11:27:04 2000 Carlos O'Ryan + + * ace/CDR_Stream.i: + Fixed the << operators for ACE_OutputCDR::from_string and + ACE_OutputCDR::from_wstring. They did not work with null + strings. + Wed Mar 8 19:16:56 2000 Douglas C. Schmidt * tests/Time_Service_Test.cpp (main): Added the ASYS_TEXT macro diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index f8fe64ab78f..678880135df 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,3 +1,10 @@ +Fri Mar 10 11:27:04 2000 Carlos O'Ryan + + * ace/CDR_Stream.i: + Fixed the << operators for ACE_OutputCDR::from_string and + ACE_OutputCDR::from_wstring. They did not work with null + strings. + Wed Mar 8 19:16:56 2000 Douglas C. Schmidt * tests/Time_Service_Test.cpp (main): Added the ASYS_TEXT macro diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index f8fe64ab78f..678880135df 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,10 @@ +Fri Mar 10 11:27:04 2000 Carlos O'Ryan + + * ace/CDR_Stream.i: + Fixed the << operators for ACE_OutputCDR::from_string and + ACE_OutputCDR::from_wstring. They did not work with null + strings. + Wed Mar 8 19:16:56 2000 Douglas C. Schmidt * tests/Time_Service_Test.cpp (main): Added the ASYS_TEXT macro diff --git a/ace/CDR_Stream.i b/ace/CDR_Stream.i index 60ce5f64052..550758f1a4b 100644 --- a/ace/CDR_Stream.i +++ b/ace/CDR_Stream.i @@ -1081,7 +1081,9 @@ operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_octet x) ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_string x) { - ACE_CDR::ULong len = ACE_OS::strlen (x.val_); + ACE_CDR::ULong len = 0; + if (x.val_ != 0) + len = ACE_OS::strlen (x.val_); os.write_string (len, x.val_); return os.good_bit () && (len <= x.bound_); } @@ -1089,7 +1091,9 @@ operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_string x) ACE_INLINE ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, ACE_OutputCDR::from_wstring x) { - ACE_CDR::ULong len = ACE_OS::wslen (x.val_); + ACE_CDR::ULong len; + if (x.val_ != 0) + len = ACE_OS::wslen (x.val_); os.write_wstring (len, x.val_); return os.good_bit () && (len <= x.bound_); } -- cgit v1.2.1