summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgokhale <asgokhale@users.noreply.github.com>1999-01-04 12:46:49 +0000
committergokhale <asgokhale@users.noreply.github.com>1999-01-04 12:46:49 +0000
commitaeb105f3711ffb9f567a1df6e65ff30010dfa992 (patch)
treec2006d609636d2898d7d9bc585bee83476d53841
parent71c9372be67ed0df222f5c9863b98ebb819fd9d2 (diff)
downloadATCD-aeb105f3711ffb9f567a1df6e65ff30010dfa992.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-98c19
-rw-r--r--TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp8
-rw-r--r--TAO/tao/Managed_Types.h4
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 */