]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
remove use of cursors
authorAlan T. DeKok <aland@freeradius.org>
Fri, 8 Apr 2022 19:41:55 +0000 (15:41 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 8 Apr 2022 19:48:56 +0000 (15:48 -0400)
src/modules/rlm_logtee/rlm_logtee.c

index 84e2a5e27e9ac43c7dae55be54c596c2ad093d88..ef4db27d9e1f637b0f51fe94110f3cc3dacce3f4 100644 (file)
@@ -524,21 +524,23 @@ finish:
  */
 static unlang_action_t mod_insert_logtee(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 {
-       fr_cursor_t     cursor;
-       log_dst_t       *dst;
-       bool            exists = false;
+       log_dst_t       *dst, **last = NULL;
 
-       for (dst = fr_cursor_init(&cursor, &request->log.dst); dst; dst = fr_cursor_next(&cursor)) {
-               if (dst->uctx == mctx->thread) exists = true;
+       for (dst = request->log.dst; dst; dst = dst->next) {
+               if (dst->uctx == mctx->thread) {
+                       RETURN_MODULE_NOOP;
+               }
+
+               last = &(dst->next);
        }
 
-       if (exists) RETURN_MODULE_NOOP;
+       if (!last) RETURN_MODULE_NOOP;
 
        dst = talloc_zero(request, log_dst_t);
        dst->func = logtee_it;
        dst->uctx = mctx->thread;
 
-       fr_cursor_append(&cursor, dst);
+       *last = dst;
 
        RETURN_MODULE_OK;
 }