CELIX-269: Fixes issue in dependency manager when providing NULL as properties for a provided services
Project: http://git-wip-us.apache.org/repos/asf/celix/repo Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/6bf16bd8 Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/6bf16bd8 Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/6bf16bd8 Branch: refs/heads/release/celix-2.0.0 Commit: 6bf16bd8c983cf3fe83c1ccd19334edf0944b8a9 Parents: ea9a5a8 Author: Pepijn Noltes <[email protected]> Authored: Mon Feb 8 20:14:41 2016 +0100 Committer: Pepijn Noltes <[email protected]> Committed: Mon Feb 8 20:14:41 2016 +0100 ---------------------------------------------------------------------- dependency_manager/private/src/dm_component_impl.c | 4 ++++ 1 file changed, 4 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/celix/blob/6bf16bd8/dependency_manager/private/src/dm_component_impl.c ---------------------------------------------------------------------- diff --git a/dependency_manager/private/src/dm_component_impl.c b/dependency_manager/private/src/dm_component_impl.c index 9b5cdbe..0d9745e 100644 --- a/dependency_manager/private/src/dm_component_impl.c +++ b/dependency_manager/private/src/dm_component_impl.c @@ -335,6 +335,10 @@ celix_status_t component_addInterface(dm_component_pt component, char *serviceNa dm_interface_t *interface = (dm_interface_t *) calloc(1, sizeof(*interface)); char *name = strdup(serviceName); + if (properties == NULL) { + properties = properties_create(); + } + if ((properties_get(properties, (char*) CELIX_FRAMEWORK_SERVICE_VERSION) == NULL) && (serviceVersion != NULL)) { properties_set(properties, (char*) CELIX_FRAMEWORK_SERVICE_VERSION, serviceVersion); }
