Add function for printing lists to request debug log
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 15 Jan 2013 17:42:57 +0000 (17:42 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 15 Jan 2013 17:42:57 +0000 (17:42 +0000)
src/include/radiusd.h
src/main/valuepair.c

index 1b8b2c2..da77620 100644 (file)
@@ -530,6 +530,7 @@ int         session_zap(REQUEST *request, uint32_t nasaddr,
 #undef debug_pair
 void           debug_pair(VALUE_PAIR *);
 void           debug_pair_list(VALUE_PAIR *);
+void           rdebug_pair_list(int, REQUEST *, VALUE_PAIR *);
 int            log_err (char *);
 
 /* util.c */
index 28bb95b..2a712f9 100644 (file)
@@ -861,6 +861,25 @@ void debug_pair_list(VALUE_PAIR *vp)
        fflush(fr_log_fp);
 }
 
+/** Print a list of valuepairs to the request list.
+ * 
+ * @param[in] level Debug level (1-4).
+ * @param[in] request.
+ * @param[in] vp to print.
+ */
+void rdebug_pair_list(int level, REQUEST *request, VALUE_PAIR *vp)
+{
+       char buffer[256];
+       if (!vp || !request || !request->radlog) return;
+       
+       while (vp) {
+               vp_prints(buffer, sizeof(buffer), vp);
+               
+               request->radlog(L_DBG, level, request, "\t%s", buffer);
+               vp = vp->next;
+       }       
+}
+
 /** Resolve attribute pair_lists_t value to an attribute list.
  * 
  * The value returned is a pointer to the pointer of the HEAD of the list