#include <mit-copyright.h>
#include <errno.h>
#include <stdio.h>
+#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <moira.h>
membervec[1] = "LIST";
status = mr_query("add_member_to_list", 3, membervec,
scream, NULL);
- if (status == MR_SUCCESS)
- break;
- else if (status != MR_LIST || memberstruct->type != M_ANY) {
+ if (status == MR_SUCCESS) {
+ if (!strcmp(membervec[0], getenv("USER"))) {
+ fprintf(stderr, "\nWARNING: \"LIST:%s\" was just added to list \"%s\".\n",
+ membervec[2], membervec[0]);
+ fprintf(stderr, "If you meant to add yourself to the list \"%s\", type:\n", membervec[2]);
+ fprintf(stderr, "\tblanche %s -d %s\t(to undo this)\n",
+ membervec[0], membervec[2]);
+ fprintf(stderr, "\tblanche %s -a %s\t(to add yourself to that list)\n",
+ membervec[2], membervec[0]);
+ }
+ break;
+ } else if (status != MR_LIST || memberstruct->type != M_ANY) {
com_err(whoami, status, "while adding member %s to %s",
memberstruct->name, listname);
break;
membervec[1] = "STRING";
status = mr_query("delete_member_from_list", 3, membervec,
scream, NULL);
- if (status == MR_STRING && memberstruct->type == M_ANY)
+ if (status == MR_STRING && memberstruct->type == M_ANY) {
com_err(whoami, 0, " Unable to find member %s to delete from %s",
memberstruct->name, listname);
- else if (status != MR_SUCCESS)
+ if (!strcmp(membervec[0], getenv("USER"))) {
+ fprintf(stderr, "(If you were trying to remove yourself from the list \"%s\",\n", membervec[2]);
+ fprintf(stderr, "the correct command is \"blanche %s -d %s\".)\n",
+ membervec[2], membervec[0]);
+ }
+ } else if (status != MR_SUCCESS)
com_err(whoami, status, "while deleting member %s from %s",
memberstruct->name, listname);
break;
fprintf(stderr, " -dl | -deletelist filename\n");
fprintf(stderr, " -f | -file filename\n");
fprintf(stderr, " -n | -noauth\n");
- fprintf(stderr, " -S | -server host[:port]\n");
+ fprintf(stderr, " -db | -server host[:port]\n");
fprintf(stderr, " -D | -debug\n");
exit(1);
}