97 lines
2.3 KiB
C
97 lines
2.3 KiB
C
/*
|
|
This program adds an user to account.txt
|
|
Don't usr it When login-sever is working.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
char *account_txt = "../save/account.txt";
|
|
|
|
//-----------------------------------------------------
|
|
// Function to suppress control characters in a string.
|
|
//-----------------------------------------------------
|
|
int remove_control_chars(unsigned char *str) {
|
|
int i;
|
|
int change = 0;
|
|
|
|
for(i = 0; str[i]; i++) {
|
|
if (str[i] < 32) {
|
|
str[i] = '_';
|
|
change = 1;
|
|
}
|
|
}
|
|
|
|
return change;
|
|
}
|
|
|
|
int main(int argc, char *argv[]) {
|
|
|
|
char username[24];
|
|
char password[24];
|
|
char sex[2];
|
|
|
|
int next_id, id;
|
|
char line[1024];
|
|
|
|
// Check to see if account.txt exists.
|
|
printf("Checking if '%s' file exists...\n", account_txt);
|
|
FILE *FPaccin = fopen(account_txt, "r");
|
|
if (FPaccin == NULL) {
|
|
printf("'%s' file not found!\n", account_txt);
|
|
printf("Run the setup wizard please.\n");
|
|
exit(0);
|
|
}
|
|
|
|
next_id = 2000000;
|
|
while(fgets(line, sizeof(line)-1, FPaccin)) {
|
|
if (line[0] == '/' && line[1] == '/') { continue; }
|
|
if (sscanf(line, "%d\t%%newid%%\n", &id) == 1) {
|
|
if (next_id < id) {
|
|
next_id = id;
|
|
}
|
|
} else {
|
|
sscanf(line,"%i%[^ ]", &id);
|
|
if (next_id <= id) {
|
|
next_id = id +1;
|
|
}
|
|
}
|
|
}
|
|
close(FPaccin);
|
|
printf("File exists.\n");
|
|
|
|
printf("Don't create an account if the login-server is online!!!\n");
|
|
printf("If the login-server is online, press ctrl+C now to stop this software.\n");
|
|
printf("\n");
|
|
|
|
strcpy(username, "");
|
|
while (strlen(username) < 4 || strlen(username) > 23) {
|
|
printf("Enter an username (4-23 characters): ");
|
|
scanf("%s", &username);
|
|
username[23] = 0;
|
|
remove_control_chars(username);
|
|
}
|
|
|
|
strcpy(password, "");
|
|
while (strlen(password) < 4 || strlen(password) > 23) {
|
|
printf("Enter a password (4-23 characters): ");
|
|
scanf("%s", &password);
|
|
password[23] = 0;
|
|
remove_control_chars(password);
|
|
}
|
|
|
|
strcpy(sex, "");
|
|
while (strcmp(sex, "F") != 0 && strcmp(sex, "M") != 0) {
|
|
printf("Enter a gender (M for male, F for female): ");
|
|
scanf("%s", &sex);
|
|
}
|
|
|
|
FILE *FPaccout = fopen(account_txt, "r+");
|
|
fseek(FPaccout, 0, SEEK_END);
|
|
fprintf(FPaccout, "%i %s %s - %s -\r\n", next_id, username, password, sex);
|
|
close(FPaccout);
|
|
|
|
printf("Account added.\n");
|
|
}
|