X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/58d2aad26bc5a3059ee362a251024a2d470e63a1..45e6d04af841f7f1114c22d24c3a58d797a6580b:/lib/eclient.c?ds=sidebyside diff --git a/lib/eclient.c b/lib/eclient.c index e7395f3..ad34a21 100644 --- a/lib/eclient.c +++ b/lib/eclient.c @@ -184,6 +184,7 @@ static void logentry_user_add(disorder_eclient *c, int nvec, char **vec); static void logentry_user_confirm(disorder_eclient *c, int nvec, char **vec); static void logentry_user_delete(disorder_eclient *c, int nvec, char **vec); static void logentry_user_edit(disorder_eclient *c, int nvec, char **vec); +static void logentry_rights_changed(disorder_eclient *c, int nvec, char **vec); /* Tables ********************************************************************/ @@ -209,6 +210,7 @@ static const struct logentry_handler logentry_handlers[] = { LE(recent_removed, 1, 1), LE(removed, 1, 2), LE(rescanned, 0, 0), + LE(rights_changed, 1, 1), LE(scratched, 2, 2), LE(state, 1, 1), LE(user_add, 1, 1), @@ -1563,6 +1565,15 @@ static void logentry_user_edit(disorder_eclient *c, c->log_callbacks->user_edit(c->log_v, vec[0], vec[1]); } +static void logentry_rights_changed(disorder_eclient *c, + int attribute((unused)) nvec, char **vec) { + if(c->log_callbacks->rights_changed) { + rights_type r; + if(parse_rights(vec[0], &r, 0/*report*/)) + c->log_callbacks->rights_changed(c->log_v, r); + } +} + static const struct { unsigned long bit; const char *enable;