aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--FICS/adminproc.c75
1 files changed, 44 insertions, 31 deletions
diff --git a/FICS/adminproc.c b/FICS/adminproc.c
index 6abb649..a6623a6 100644
--- a/FICS/adminproc.c
+++ b/FICS/adminproc.c
@@ -1278,41 +1278,54 @@ com_asetpasswd(int p, param_list param)
* command, but no other users -- except admins -- will have another
* player's email address displayed.
*/
-PUBLIC int com_asetemail(int p, param_list param)
+PUBLIC int
+com_asetemail(int p, param_list param)
{
- int p1, connected;
+ int p1, connected;
- ASSERT(parray[p].adminLevel >= ADMIN_ADMIN);
+ ASSERT(parray[p].adminLevel >= ADMIN_ADMIN);
- if (!FindPlayer(p, param[0].val.word, &p1, &connected))
- return COM_OK;
+ if (!FindPlayer(p, param[0].val.word, &p1, &connected))
+ return COM_OK;
- if ((parray[p].adminLevel <= parray[p1].adminLevel) && !player_ishead(p)) {
- pprintf(p, "You can only set email addr for players below your adminlevel.\n");
- if (!connected)
- player_remove(p1);
- return COM_OK;
- }
- if (parray[p1].emailAddress)
- rfree(parray[p1].emailAddress);
- if (param[1].type == TYPE_NULL) {
- parray[p1].emailAddress = NULL;
- pprintf(p, "Email address for %s removed\n", parray[p1].name);
- } else {
- parray[p1].emailAddress = xstrdup(param[1].val.word);
- pprintf(p, "Email address of %s changed to \"%s\".\n", parray[p1].name, param[1].val.word);
- }
- player_save(p1);
- if (connected) {
- if (param[1].type == TYPE_NULL) {
- pprintf_prompt(p1, "\n\n%s has removed your email address.\n\n", parray[p].name);
- } else {
- pprintf_prompt(p1, "\n\n%s has changed your email address.\n\n", parray[p].name);
- }
- } else {
- player_remove(p1);
- }
- return COM_OK;
+ if ((parray[p].adminLevel <= parray[p1].adminLevel) &&
+ !player_ishead(p)) {
+ pprintf(p, "You can only set email addr for players below "
+ "your adminlevel.\n");
+
+ if (!connected)
+ player_remove(p1);
+ return COM_OK;
+ }
+
+ if (parray[p1].emailAddress)
+ rfree(parray[p1].emailAddress);
+
+ if (param[1].type == TYPE_NULL) {
+ parray[p1].emailAddress = NULL;
+ pprintf(p, "Email address for %s removed\n", parray[p1].name);
+ } else {
+ parray[p1].emailAddress = xstrdup(param[1].val.word);
+ pprintf(p, "Email address of %s changed to \"%s\".\n",
+ parray[p1].name,
+ param[1].val.word);
+ }
+
+ player_save(p1);
+
+ if (connected) {
+ if (param[1].type == TYPE_NULL) {
+ pprintf_prompt(p1, "\n\n%s has removed your email "
+ "address.\n\n", parray[p].name);
+ } else {
+ pprintf_prompt(p1, "\n\n%s has changed your email "
+ "address.\n\n", parray[p].name);
+ }
+ } else {
+ player_remove(p1);
+ }
+
+ return COM_OK;
}
/*