+ if (status == MR_PERM && memberstruct->type == M_ANY) {
+ /* M_ANY means we've fallen through from the user case
+ * The fact that we didn't get MR_PERM there indicates
+ * that we had permission to remove the specified member
+ * from the list if it is a user, but not a list. This is
+ * if we are the member in question. Since we exist as a user
+ * we must have gotten the MR_NO_MATCH error, so we will
+ * return that, since it will be less confusing. However,
+ * This will generate the wrongerror if the user was trying
+ * to remove the list with his/her username from a list they
+ * don't administrate, without explicitly specifying "list:".
+ */
+ status = MR_NO_MATCH;
+ }