X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a9919f554fd42fdb9a26defe86adbb1c3cfa59bd..390ee57ed79bf7577c2bce6df6a25aba57ff476e:/src/surf/PropertyHolder.cpp diff --git a/src/surf/PropertyHolder.cpp b/src/surf/PropertyHolder.cpp index 97331c6632..48f372fb52 100644 --- a/src/surf/PropertyHolder.cpp +++ b/src/surf/PropertyHolder.cpp @@ -9,33 +9,30 @@ namespace simgrid { namespace surf { -PropertyHolder::PropertyHolder(xbt_dict_t props) -: properties_(props) -{ -} +PropertyHolder::PropertyHolder() = default; PropertyHolder::~PropertyHolder() { xbt_dict_free(&properties_); } -/** @brief Return the property associated to the provided key (or NULL if not existing) */ +/** @brief Return the property associated to the provided key (or nullptr if not existing) */ const char *PropertyHolder::getProperty(const char*key) { - if (properties_ == NULL) - return NULL; + if (properties_ == nullptr) + return nullptr; return (const char*) xbt_dict_get_or_null(properties_,key); } /** @brief Change the value of a given key in the property set */ void PropertyHolder::setProperty(const char*key, const char*value) { if (!properties_) - properties_ = xbt_dict_new(); - xbt_dict_set(properties_, key, xbt_strdup(value), &xbt_free_f); + properties_ = xbt_dict_new_homogeneous(xbt_free_f); + xbt_dict_set(properties_, key, xbt_strdup(value), nullptr); } /** @brief Return the whole set of properties. Don't mess with it, dude! */ xbt_dict_t PropertyHolder::getProperties() { if (!properties_) - properties_ = xbt_dict_new(); + properties_ = xbt_dict_new_homogeneous(xbt_free_f); return properties_; }