]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Finish documenting request_state_replace
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 7 Feb 2023 23:34:08 +0000 (17:34 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 7 Feb 2023 23:34:20 +0000 (17:34 -0600)
src/lib/server/request.c

index aaf0eb14df032e83a3b2264ee3d01864d40a93d2..6b7d5f91641fce9a8cb73f2c602e9a7a8bc02417 100644 (file)
@@ -544,13 +544,20 @@ request_t *_request_local_alloc(char const *file, int line, TALLOC_CTX *ctx,
  *
  *  It's now a pair, and is stored in request->pair_root.
  *  So it's wrong for anyone other than this function to play games with it.
+ *
+ * @param[in] request  to replace the state of.
+ * @param[in] new      state to assign to the request.
+ *                     May be NULL in which case a new state will
+ *                     be alloced and assigned.
+ *
+ * @return the fr_pair_t containing the old state list.
  */
-fr_pair_t *request_state_replace(request_t *request, fr_pair_t *state)
+fr_pair_t *request_state_replace(request_t *request, fr_pair_t *new)
 {
        fr_pair_t *old = request->session_state_ctx;
 
        fr_assert(request->session_state_ctx != NULL);
-       fr_assert(request->session_state_ctx != state);
+       fr_assert(request->session_state_ctx != new);
 
        fr_pair_remove(&request->pair_root->children, old);
 
@@ -558,11 +565,11 @@ fr_pair_t *request_state_replace(request_t *request, fr_pair_t *state)
         *      Save (or delete) the existing state, and re-initialize
         *      it with a brand new one.
         */
-       if (!state) MEM(state = fr_pair_afrom_da(NULL, request_attr_state));
+       if (!new) MEM(new = fr_pair_afrom_da(NULL, request_attr_state));
 
-       request->session_state_ctx = state;
+       request->session_state_ctx = new;
 
-       fr_pair_append(&request->pair_root->children, state);
+       fr_pair_append(&request->pair_root->children, new);
 
        return old;
 }