diff options
Diffstat (limited to '')
-rw-r--r-- | sca-cpp/trunk/modules/scdl/scdl.hpp | 7 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/server/mod-eval.hpp | 2 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/server/mod-wiring.cpp | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/sca-cpp/trunk/modules/scdl/scdl.hpp b/sca-cpp/trunk/modules/scdl/scdl.hpp index 7f6e95393e..7cf43e3b14 100644 --- a/sca-cpp/trunk/modules/scdl/scdl.hpp +++ b/sca-cpp/trunk/modules/scdl/scdl.hpp @@ -208,6 +208,13 @@ const value propertyValue(const value& l) { return elementValue(l); } +/** + * Returns the absolute path of a resource in a contribution. + */ +const string resourcePath(const string& contrib, const string& path) { + return c_str(path)[0] == '/'? path : contrib + path; +} + } } diff --git a/sca-cpp/trunk/modules/server/mod-eval.hpp b/sca-cpp/trunk/modules/server/mod-eval.hpp index 31e850d18c..2de2f3d6fe 100644 --- a/sca-cpp/trunk/modules/server/mod-eval.hpp +++ b/sca-cpp/trunk/modules/server/mod-eval.hpp @@ -741,7 +741,7 @@ const failable<bool> confComponents(ServerConf& sc) { if (sc.key != "") debug(sc.key, "modeval::confComponents::sslKey"); // Read the components and get their implementation lambda functions - const failable<list<value> > comps = readComponents(sc.contributionPath + sc.compositeName); + const failable<list<value> > comps = readComponents(scdl::resourcePath(sc.contributionPath, sc.compositeName)); if (!hasContent(comps)) return mkfailure<bool>(reason(comps)); sc.implementations = componentToImplementationAssoc(sc, content(comps)); diff --git a/sca-cpp/trunk/modules/server/mod-wiring.cpp b/sca-cpp/trunk/modules/server/mod-wiring.cpp index c61e90a6a1..c2380be6a3 100644 --- a/sca-cpp/trunk/modules/server/mod-wiring.cpp +++ b/sca-cpp/trunk/modules/server/mod-wiring.cpp @@ -265,7 +265,7 @@ const bool confComponents(ServerConf& sc) { // Read the component configuration and store the references and service URIs // in trees for fast retrieval later - const failable<list<value> > comps = readComponents(sc.contributionPath + sc.compositeName); + const failable<list<value> > comps = readComponents(scdl::resourcePath(sc.contributionPath, sc.compositeName)); if (!hasContent(comps)) return true; const list<value> refs = componentReferenceToTargetAssoc(content(comps)); |