diff options
author | gokhale <asgokhale@users.noreply.github.com> | 1999-01-04 12:46:49 +0000 |
---|---|---|
committer | gokhale <asgokhale@users.noreply.github.com> | 1999-01-04 12:46:49 +0000 |
commit | aeb105f3711ffb9f567a1df6e65ff30010dfa992 (patch) | |
tree | c2006d609636d2898d7d9bc585bee83476d53841 | |
parent | 71c9372be67ed0df222f5c9863b98ebb819fd9d2 (diff) | |
download | ATCD-aeb105f3711ffb9f567a1df6e65ff30010dfa992.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/ChangeLog-98c | 19 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp | 8 | ||||
-rw-r--r-- | TAO/tao/Managed_Types.h | 4 |
3 files changed, 27 insertions, 4 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c index e8e630a5034..83ad3450113 100644 --- a/TAO/ChangeLog-98c +++ b/TAO/ChangeLog-98c @@ -1,3 +1,22 @@ +Mon Jan 4 07:39:27 EST 1999 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> + + * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: + + The code was written with the assumption that a string member of + a struct gets mapped to CORBA::String_var. However, due to the + recent changes made to the IDL compiler where a string member + gets mapped to a TAO_String_Manager caused several problems in + the Trader code. This happened when the string member was + assigned directly to a CORBA::String_var class. The right way to + do this is to use the "in ()" method on the TAO_String_Manager + class to retrieve the underlying string. + + * tao/Managed_Types.h: + + I had forgotten to include the Managed_Types.i file when the + ACE_INLINE macro is defined. This was causing all kinds of + undefined symbol errors at link time. + Mon Jan 04 00:15:13 1999 Darrell Brunsch <brunsch@cs.wustl.edu> * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: diff --git a/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp b/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp index 51b1247d71f..5e09861debe 100644 --- a/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp +++ b/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp @@ -267,7 +267,7 @@ TAO_Property_Evaluator::property_value (int index, { // Property is defined at this point. CosTradingDynamic::DynamicProp* dp_struct; - const CORBA::String_var name = this->props_[index].name; + const CORBA::String_var name = this->props_[index].name.in (); const CORBA::Any& value = this->props_[index].value; // Extract the DP_Struct. @@ -355,7 +355,7 @@ TAO_Property_Evaluator_By_Name (const CosTrading::PropertySeq& properties, if (! TAO_Trader_Base::is_valid_identifier_name (prop.name)) TAO_THROW (CosTrading::IllegalPropertyName (prop.name)); - TAO_String_Hash_Key prop_name = prop.name; + TAO_String_Hash_Key prop_name = prop.name.in (); if (this->table_.bind (prop_name, i)) TAO_THROW (CosTrading::DuplicatePropertyName (prop.name)); } @@ -1009,7 +1009,7 @@ TAO_Offer_Modifier (const char* type_name, // Create a mapping of property names to their types. for (i = 0; i < pstructs_length; i++) { - TAO_String_Hash_Key prop_name = pstructs[i].name; + TAO_String_Hash_Key prop_name = pstructs[i].name.in (); CORBA::TypeCode_ptr type_code = CORBA::TypeCode::_duplicate (pstructs[i].value_type.in ()); this->prop_types_.bind (prop_name, type_code); @@ -1159,7 +1159,7 @@ TAO_Offer_Modifier::affect_change (const CosTrading::PropertySeq& modifies) for (i = 0; i < merge_length; i++) { Property_Table::ENTRY* entry = 0; - TAO_String_Hash_Key prop_name = modifies[i].name; + TAO_String_Hash_Key prop_name = modifies[i].name.in (); CosTrading::Property* prop = ACE_const_cast (CosTrading::Property*, &modifies[i]); diff --git a/TAO/tao/Managed_Types.h b/TAO/tao/Managed_Types.h index a3f7f712866..be330aee042 100644 --- a/TAO/tao/Managed_Types.h +++ b/TAO/tao/Managed_Types.h @@ -320,4 +320,8 @@ private: }; #endif /* 0 */ +#if defined (__ACE_INLINE__) +#include "tao/Managed_Types.i" +#endif /* __ACE_INLINE__ */ + #endif /* TAO_MANAGED_TYPES_H */ |