dbertoni 00/04/20 09:30:21
Modified: c/src/XPath XResultTreeFrag.cpp XResultTreeFrag.hpp
XString.cpp XString.hpp
Log:
Fixed casting issues.
Revision Changes Path
1.3 +0 -8 xml-xalan/c/src/XPath/XResultTreeFrag.cpp
Index: XResultTreeFrag.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XResultTreeFrag.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XResultTreeFrag.cpp 2000/04/11 14:46:23 1.2
+++ XResultTreeFrag.cpp 2000/04/20 16:30:20 1.3
@@ -83,11 +83,7 @@
XObject(&envSupport),
NodeRefListBase(),
m_support(support),
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
- m_value(dynamic_cast<ResultTreeFragBase*>(val.clone(deepClone)))
-#else
m_value(val.clone(deepClone))
-#endif
{
}
@@ -99,11 +95,7 @@
XObject(source),
NodeRefListBase(source),
m_support(source.m_support),
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
-
m_value(dynamic_cast<ResultTreeFragBase*>(source.m_value->clone(deepClone)))
-#else
m_value(source.m_value->clone(deepClone))
-#endif
{
}
1.4 +4 -0 xml-xalan/c/src/XPath/XResultTreeFrag.hpp
Index: XResultTreeFrag.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XResultTreeFrag.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XResultTreeFrag.hpp 2000/04/11 14:46:23 1.3
+++ XResultTreeFrag.hpp 2000/04/20 16:30:20 1.4
@@ -172,7 +172,11 @@
XPathSupport& m_support;
+#if defined(XALAN_NO_NAMESPACES)
+ auto_ptr<ResultTreeFragBase> m_value;
+#else
std::auto_ptr<ResultTreeFragBase> m_value;
+#endif
};
1.3 +44 -18 xml-xalan/c/src/XPath/XString.cpp
Index: XString.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XString.cpp 2000/04/11 14:46:23 1.2
+++ XString.cpp 2000/04/20 16:30:20 1.3
@@ -91,15 +91,9 @@
XObject(source),
m_support(source.m_support),
m_value(source.m_value),
-#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
m_resultTreeFrag(source.m_resultTreeFrag.get() == 0 ?
0 :
-
dynamic_cast<ResultTreeFragBase*>(source.m_resultTreeFrag->clone(true)))
-#else
- m_resultTreeFrag(source.m_resultTreeFrag.get() == 0 ?
- 0 :
source.m_resultTreeFrag->clone(true))
-#endif
{
}
@@ -166,17 +160,33 @@
new ResultTreeFrag(*theFactory,
m_support);
-#if defined(XALAN_OLD_AUTO_PTR)
- m_resultTreeFrag = std::auto_ptr<ResultTreeFragBase>(theFrag);
-#else
- m_resultTreeFrag.reset(theFrag);
-#endif
-
XalanNode* const textNode =
theFactory->createTextNode(str());
assert(textNode != 0);
theFrag->appendChild(textNode);
+
+#if defined(XALAN_OLD_AUTO_PTR)
+
+#if !defined (XALAN_NO_NAMESPACES)
+ using std::auto_ptr;
+#endif
+
+#if defined(XALAN_NO_MUTABLE)
+ ((XString*)this)->m_resultTreeFrag =
auto_ptr<ResultTreeFragBase>(theFrag);
+#else
+ m_resultTreeFrag = auto_ptr<ResultTreeFragBase>(theFrag);
+#endif
+
+#else
+
+#if defined(XALAN_NO_MUTABLE)
+ ((XString*)this)->m_resultTreeFrag.reset(theFrag);
+#else
+ m_resultTreeFrag.reset(theFrag);
+#endif
+
+#endif
}
return *m_resultTreeFrag.get();
@@ -197,17 +207,33 @@
new ResultTreeFrag(*theFactory,
m_support);
-#if defined(XALAN_OLD_AUTO_PTR)
- m_resultTreeFrag = std::auto_ptr<ResultTreeFragBase>(theFrag);
-#else
- m_resultTreeFrag.reset(theFrag);
-#endif
-
XalanNode* const textNode =
theFactory->createTextNode(str());
assert(textNode != 0);
theFrag->appendChild(textNode);
+
+#if defined(XALAN_OLD_AUTO_PTR)
+
+#if !defined (XALAN_NO_NAMESPACES)
+ using std::auto_ptr;
+#endif
+
+#if defined(XALAN_NO_MUTABLE)
+ ((XString*)this)->m_resultTreeFrag =
auto_ptr<ResultTreeFragBase>(theFrag);
+#else
+ m_resultTreeFrag = auto_ptr<ResultTreeFragBase>(theFrag);
+#endif
+
+#else
+
+#if defined(XALAN_NO_MUTABLE)
+ ((XString*)this)->m_resultTreeFrag.reset(theFrag);
+#else
+ m_resultTreeFrag.reset(theFrag);
+#endif
+
+#endif
}
return *m_resultTreeFrag.get();
1.4 +12 -0 xml-xalan/c/src/XPath/XString.hpp
Index: XString.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XString.hpp 2000/04/11 14:46:24 1.3
+++ XString.hpp 2000/04/20 16:30:20 1.4
@@ -152,7 +152,19 @@
const XalanDOMString m_value;
+#if defined(XALAN_NO_NAMESPACES)
+#if defined(XALAN_NO_MUTABLE)
+ auto_ptr<ResultTreeFragBase>
m_resultTreeFrag;
+#else
+ mutable auto_ptr<ResultTreeFragBase> m_resultTreeFrag;
+#endif
+#else
+#if defined(XALAN_NO_MUTABLE)
+ std::auto_ptr<ResultTreeFragBase>
m_resultTreeFrag;
+#else
mutable std::auto_ptr<ResultTreeFragBase> m_resultTreeFrag;
+#endif
+#endif
};