child-cfg: Allow passing NULL as proposal to add_proposal()
authorMartin Willi <martin@revosec.ch>
Thu, 24 Apr 2014 12:20:21 +0000 (14:20 +0200)
committerMartin Willi <martin@revosec.ch>
Fri, 16 May 2014 14:01:21 +0000 (16:01 +0200)
Making the API consistent to the one of ike_cfg.

src/libcharon/config/child_cfg.c
src/libcharon/config/child_cfg.h

index 8d8214e..3f07b58 100644 (file)
@@ -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*,
index 20d1fa8..43ad1c5 100644 (file)
@@ -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);