diff options
Diffstat (limited to 'cpp/src/qpid')
| -rw-r--r-- | cpp/src/qpid/acl/AclPlugin.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/cpp/src/qpid/acl/AclPlugin.cpp b/cpp/src/qpid/acl/AclPlugin.cpp index ffba8d44cf..7310139041 100644 --- a/cpp/src/qpid/acl/AclPlugin.cpp +++ b/cpp/src/qpid/acl/AclPlugin.cpp @@ -61,9 +61,17 @@ struct AclPlugin : public Plugin { } if (acl) throw Exception("ACL plugin cannot be initialized twice in one process."); - std::ostringstream oss; - oss << b.getDataDir().getPath() << "/" << values.aclFile; - values.aclFile = oss.str(); + + if (values.aclFile.at(0) == '/') + { + values.aclFile = values.aclFile; + } + else + { + std::ostringstream oss; + oss << b.getDataDir().getPath() << "/" << values.aclFile; + values.aclFile = oss.str(); + } acl = new Acl(values, b); b.setAcl(acl.get()); @@ -89,5 +97,5 @@ static AclPlugin instance; // Static initialization. // For test purposes. boost::intrusive_ptr<Acl> getGlobalAcl() { return instance.acl; } - + }} // namespace qpid::acl |
