/* ************************************************************************
* file: purgeplay.c Part of CircleMUD *
* Usage: purge useless chars from playerfile *
* All Rights Reserved *
* Copyright (C) 1992, 1993 The Trustees of The Johns Hopkins University *
************************************************************************* */
#include <stdio.h>
#include <ctype.h>
#include "../structs.h"
#include "../utils.h"
void print_details(struct char_file_u *player)
{
printf("%s %s\n", player->name, player->title);
}
void purge(char *filename)
{
FILE * fl;
FILE * outfile;
struct char_file_u player;
int okay, num = 0, j;
long timeout;
char *ptr, reason[80], *name[500];
if (!(fl = fopen(filename, "r+"))) {
printf("Can't open %s.", filename);
exit();
}
num = 0;
for (; ; ) {
fread(&player, sizeof(struct char_file_u ), 1, fl);
if (feof(fl))
fclose(fl);
else{
CREATE(name[num], char ,strlen(player.name) + 1);
strcpy(name[num], player.name);
for (j = num-1; j > 0; j--){
if (strcmp(name[j], name[num]) == 0)
{
printf("A Match %d %d\n", j,num);
rewind(fl);
fseek(fl,(long) (j*sizeof( struct char_file_u)), SEEK_SET);
fread(&player, sizeof(struct char_file_u ), 1, fl);
print_details(&player);
rewind(fl);
fseek(fl, (long) (num*sizeof( struct char_file_u)), SEEK_SET);
fread(&player, sizeof(struct char_file_u ), 1, fl);
print_details(&player);
}
}
num++;
}
}
close(fl);
return;
}
main(int argc, char *argv[])
{
if (argc != 2)
printf("Usage: %s playerfile-name\n", argv[0]);
else
purge(argv[1]);
}