default:
cf_log_err(cp, "Unsupported type %i (%i)", type, FR_BASE_TYPE(type));
- if (!fr_cond_assert(0)) return -1; /* Unsupported type */
+ fr_assert_fail(NULL);
+ return -1; /* Unsupported type */
}
for (i = 0; i < count; i++, cp = cf_pair_find_next(cs, cp, rule->name)) {
break;
default:
- if (!fr_cond_assert(0)) return NULL;
+ fr_assert_fail(NULL);
+ return NULL;
}
/*
break;
default:
- if (!fr_cond_assert(0)) return NULL;
+ fr_assert_fail(NULL);
+ return NULL;
}
if (IS_WILDCARD(ident1)) {
}
default:
- if (!fr_cond_assert(0)) return 0;
+ fr_assert_fail(NULL);
return 0;
}
}
}
default:
- if (!fr_cond_assert(0)) return 0;
+ fr_assert_fail(NULL);
return 0;
}
}
break;
default:
- if (!fr_cond_assert(0)) return NULL;
+ fr_assert_fail(NULL);
+ return NULL;
}
return new;
}
break;
default:
- if (!fr_cond_assert(0)) return 0;
+ fr_assert_fail(NULL);
+ return 0;
}
*out_p = '\0';
break;
default:
- if (!fr_cond_assert(0)) break;
+ fr_assert_fail(NULL);
+ break;
}
*(p++) = '}';
return fr_sim_attr_sizes[vp->vp_type][0];
case FR_TYPE_STRUCTURAL:
- if (!fr_cond_assert(0)) return 0;
+ fr_assert_fail(NULL);
return 0;
}
}
}
default:
- if (!fr_cond_assert(0)) return RLM_MODULE_FAIL;
+ fr_assert_fail(NULL);
+ return RLM_MODULE_FAIL;
}
}
*/
#define fr_cond_assert(_x) likely((bool)((_x) ? true : (fr_cond_assert_fail(__FILE__, __LINE__, #_x, NULL) && false)))
+/** Calls panic_action ifndef NDEBUG, else logs error
+ *
+ * @param[in] _msg to log.
+ * @param[in] ... args.
+ */
+#define fr_assert_fail(_msg, ...) fr_cond_assert_fail(__FILE__, __LINE__, "false", _msg, ## __VA_ARGS__)
+
/** Calls panic_action ifndef NDEBUG, else logs error and evaluates to value of _x
*
* Should be wrapped in a condition, and if false, should cause function to return
break;
case FR_TYPE_STRUCTURAL:
- if (!fr_cond_assert(0)) return;
+ fr_assert_fail(NULL);
+ return;
case FR_TYPE_INVALID:
return;
case FR_TYPE_OCTETS:
case FR_TYPE_STRING:
case FR_TYPE_NON_VALUES:
- if (!fr_cond_assert(0)) return -1; /* shouldn't happen */
+ fr_assert_fail(NULL);
+ return -1; /* shouldn't happen */
}
if (dst != src) fr_value_box_copy_meta(dst, src);
case FR_TYPE_GROUP:
case FR_TYPE_INVALID:
case FR_TYPE_MAX:
- if (!fr_cond_assert(0)) return -1;
+ fr_assert_fail(NULL);
+ return -1;
}
/*
break;
default:
- if (!fr_cond_assert(0)) return -1;
+ fr_assert_fail(NULL);
+ return -1;
}
#define IN_RANGE_UNSIGNED(_type) \
break;
default:
- if (!fr_cond_assert(0)) return -1;
+ fr_assert_fail(NULL);
+ return -1;
}
return 0;
break;
default:
- if (!fr_cond_assert(0)) return -1;
+ fr_assert_fail(NULL);
+ return -1;
}
/*
return fr_dhcpv6_attr_sizes[vp->vp_type][0];
case FR_TYPE_STRUCTURAL:
- if (!fr_cond_assert(0)) return 0;
+ fr_assert_fail(NULL);
return 0;
}
}
return fr_radius_attr_sizes[vp->vp_type][0];
case FR_TYPE_STRUCTURAL:
- if (!fr_cond_assert(0)) return 0;
+ fr_assert_fail(NULL);
return 0;
}
}