aboutsummaryrefslogtreecommitdiff
path: root/libxsde/xsde/cxx/hybrid/base.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libxsde/xsde/cxx/hybrid/base.hxx')
-rw-r--r--libxsde/xsde/cxx/hybrid/base.hxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/libxsde/xsde/cxx/hybrid/base.hxx b/libxsde/xsde/cxx/hybrid/base.hxx
index 89431a2..a7b1e2a 100644
--- a/libxsde/xsde/cxx/hybrid/base.hxx
+++ b/libxsde/xsde/cxx/hybrid/base.hxx
@@ -10,6 +10,7 @@
#ifndef XSDE_STL
# include <string.h> // strcmp
+# include <xsde/cxx/strdupx.hxx>
#endif
#ifdef XSDE_CUSTOM_ALLOCATOR
@@ -599,6 +600,26 @@ namespace xsde
string_base& operator= (char* x) {base_value (x); return *this;}
+#ifndef XSDE_EXCEPTIONS
+ bool
+#else
+ void
+#endif
+ _copy (string_base& c) const
+ {
+ char* x = strdupx (x_);
+
+#ifndef XSDE_EXCEPTIONS
+ if (x == 0)
+ return false;
+#endif
+ c.base_value (x);
+
+#ifndef XSDE_EXCEPTIONS
+ return true;
+#endif
+ }
+
protected:
char* x_;
};