Commit 774f2580 authored by dand-oss's avatar dand-oss Committed by Jesse Beder
Browse files

fix up static, so works as DLL (#559)

* fix up static, so works as DLL
parent ca77ef71
...@@ -81,7 +81,7 @@ class YAML_CPP_API node_data { ...@@ -81,7 +81,7 @@ class YAML_CPP_API node_data {
shared_memory_holder pMemory); shared_memory_holder pMemory);
public: public:
static std::string empty_scalar; static const std::string& empty_scalar();
private: private:
void compute_seq_size() const; void compute_seq_size() const;
......
...@@ -156,13 +156,13 @@ inline T Node::as(const S& fallback) const { ...@@ -156,13 +156,13 @@ inline T Node::as(const S& fallback) const {
inline const std::string& Node::Scalar() const { inline const std::string& Node::Scalar() const {
if (!m_isValid) if (!m_isValid)
throw InvalidNode(); throw InvalidNode();
return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar; return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar();
} }
inline const std::string& Node::Tag() const { inline const std::string& Node::Tag() const {
if (!m_isValid) if (!m_isValid)
throw InvalidNode(); throw InvalidNode();
return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar; return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar();
} }
inline void Node::SetTag(const std::string& tag) { inline void Node::SetTag(const std::string& tag) {
......
...@@ -13,7 +13,10 @@ ...@@ -13,7 +13,10 @@
namespace YAML { namespace YAML {
namespace detail { namespace detail {
std::string node_data::empty_scalar; const std::string& node_data::empty_scalar() {
static const std::string svalue;
return svalue;
}
node_data::node_data() node_data::node_data()
: m_isDefined(false), : m_isDefined(false),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment