Index: trunk/src/conf.c =================================================================== --- trunk/src/conf.c (revision 3584) +++ trunk/src/conf.c (revision 3585) @@ -133,7 +133,7 @@ conf_policy_t conf_policy_parse(const char *s) { - if (strcasecmp(s, "overwrite") == 0) return POL_OVERWRITE; + if (strcasecmp(s, "overwrite") == 0) return POL_OVERWRITE; if (strcasecmp(s, "prepend") == 0) return POL_PREPEND; if (strcasecmp(s, "append") == 0) return POL_APPEND; if (strcasecmp(s, "disable") == 0) return POL_DISABLE; @@ -140,6 +140,18 @@ return POL_invalid; } +const char *conf_policy_name(conf_policy_t p) +{ + switch(p) { + case POL_OVERWRITE: return "overwrite"; + case POL_PREPEND: return "prepend"; + case POL_APPEND: return "append"; + case POL_DISABLE: return "disable"; + case POL_invalid: return "(invalid)"; + } + return "(unknown)"; +} + conf_role_t conf_role_parse(const char *s) { if (strcasecmp(s, "internal") == 0) return CFR_INTERNAL; Index: trunk/src/conf.h =================================================================== --- trunk/src/conf.h (revision 3584) +++ trunk/src/conf.h (revision 3585) @@ -203,6 +203,9 @@ /* convert a policy text to policy value - return POL_invalid on error */ conf_policy_t conf_policy_parse(const char *s); +/* Return the name of the policy - always a static string, even for invalid roles */ +const char *conf_policy_name(conf_policy_t p); + /* convert a role text to role value - return CFR_invalid on error */ conf_role_t conf_role_parse(const char *s);