diff options
Diffstat (limited to 'libar2_validate_params.c')
-rw-r--r-- | libar2_validate_params.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libar2_validate_params.c b/libar2_validate_params.c new file mode 100644 index 0000000..02d159a --- /dev/null +++ b/libar2_validate_params.c @@ -0,0 +1,20 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + + +enum libar2_parameter_error +libar2_validate_params(const struct libar2_argon2_parameters *params, const char **errmsgp) +{ +#define LIBAR2_X__(ENUM, ERRMESG, CONDITION)\ + if (CONDITION) {\ + if (errmsgp)\ + *errmsgp = ERRMESG;\ + return ENUM;\ + } + LIBAR2_LIST_PARAMETER_ERRORS(LIBAR2_X__, params); +#undef LIBAR2_X__ + + if (errmsgp) + *errmsgp = "OK"; + return LIBAR2_OK; +} |