From 356846db5dfe57f813d2ec1cdbced75214fa878a Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 24 Apr 2014 14:20:21 +0200 Subject: child-cfg: Allow passing NULL as proposal to add_proposal() Making the API consistent to the one of ike_cfg. --- src/libcharon/config/child_cfg.c | 5 ++++- src/libcharon/config/child_cfg.h | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/libcharon/config/child_cfg.c b/src/libcharon/config/child_cfg.c index 8d8214ebe..3f07b5860 100644 --- a/src/libcharon/config/child_cfg.c +++ b/src/libcharon/config/child_cfg.c @@ -149,7 +149,10 @@ METHOD(child_cfg_t, get_name, char*, METHOD(child_cfg_t, add_proposal, void, private_child_cfg_t *this, proposal_t *proposal) { - this->proposals->insert_last(this->proposals, proposal); + if (proposal) + { + this->proposals->insert_last(this->proposals, proposal); + } } METHOD(child_cfg_t, get_proposals, linked_list_t*, diff --git a/src/libcharon/config/child_cfg.h b/src/libcharon/config/child_cfg.h index 20d1fa811..43ad1c5c8 100644 --- a/src/libcharon/config/child_cfg.h +++ b/src/libcharon/config/child_cfg.h @@ -73,10 +73,10 @@ struct child_cfg_t { * Add a proposal to the list. * * The proposals are stored by priority, first added - * is the most preferred. - * After add, proposal is owned by child_cfg. + * is the most preferred. It is safe to add NULL as proposal, which has no + * effect. After add, proposal is owned by child_cfg. * - * @param proposal proposal to add + * @param proposal proposal to add, or NULL */ void (*add_proposal) (child_cfg_t *this, proposal_t *proposal); -- cgit v1.2.3