commit - bd3350f13ef638299d12892c95e182339d6d5e55
commit + 10e7ff4cbf78d20fc7f4ed1a8a411613c31873ff
blob - 79cb4ba3cf85d2bd0840a0efe6f787c37e5e5ac0
blob + c85dcc579cdfa1ceeb09bf8b42d3382fb9362c5f
--- FICS/fics_addplayer.c
+++ FICS/fics_addplayer.c
PRIVATE char *fname = NULL;
PRIVATE char *email = NULL;
+PRIVATE int admin = 0;
+
+PRIVATE void
+add_handle_to_list(const char *handle)
+{
+ FILE *fp;
+ char path[1024];
+
+ snprintf(path, sizeof path, "%s/admin", DEFAULT_LISTS);
+
+ if ((fp = fopen(path, "a")) == NULL) {
+ warn("%s: unable to open %s", __func__, path);
+ return;
+ }
+
+ fprintf(fp, "%s\n", handle);
+ fclose(fp);
+}
+
PRIVATE __dead void
usage(char *progname)
{
for (i = 1; i < argc; i++) {
if (argv[i][0] == '-') {
switch (argv[i][1]) {
+ case 'a':
+ admin = 1;
+ break;
case '?':
case 'h':
default:
parray[p].registered = 1;
parray[p].rated = 1;
+ if (strcasecmp(parray[p].login, HADMINHANDLE) == 0 || admin) {
+ parray[p].adminLevel = ADMIN_ADMIN;
+ add_handle_to_list(parray[p].login);
+ }
+
player_save(p);
printf("Added player account: >%s< >%s< >%s< >%s<\n",
funame, fname, email, password);
+ printf("Admin: %s\n", (parray[p].adminLevel > 0 ? "Yes" : "No"));
snprintf(text, sizeof text,
"\nYour player account has been created.\n\n"