/
roa/
roa/lib/boards/
roa/lib/config/
roa/lib/edits/
roa/lib/help/
roa/lib/misc/
roa/lib/plrobjs/
roa/lib/quests/
roa/lib/socials/
roa/lib/www/
roa/lib/www/LEDSign/
roa/lib/www/LEDSign/fonts/
roa/lib/www/LEDSign/scripts/
roa/src/s_inc/
roa/src/sclient/
roa/src/sclient/binary/
roa/src/sclient/text/
roa/src/util/
/* ************************************************************************
*  file:  showplay.c                                  Part of CircleMud   *
*  Usage: list a diku playerfile                                          *
*  Copyright (C) 1990, 1991 - see 'license.doc' for complete information. *
*  All Rights Reserved                                                    *
************************************************************************* */

#include <stdio.h>
#include <string.h>
#include "../structures.h"


void	show(char *filename, char *search)
{
   char	sexname;
   char	classname[10];
   FILE * fl;
   struct char_file_u player;
   int	num = 0;

   if (!(fl = fopen(filename, "r+"))) {
      perror("error opening playerfile");
      exit(1);
   }

   for (; ; ) {
      fread(&player, sizeof(struct char_file_u ), 1, fl);
      if (feof(fl)) {
	 fclose(fl);
	 exit(1);
      }

      if (search && !strstr(player.name, search))
	continue;

      switch (player.cls) {
      case CLASS_THIEF	: 
	 strcpy(classname, "Thi");
	 break;
      case CLASS_WARRIOR	: 
	 strcpy(classname, "War"); 
	 break;
      case CLASS_WARLOCK: 
	 strcpy(classname, "Wlk"); 
	 break;
      case CLASS_MAGE	: 
	 strcpy(classname, "Mag"); 
	 break;
      case CLASS_CLERIC	: 
	 strcpy(classname, "Cle"); 
	 break;
      case CLASS_RANGER	: 
	 strcpy(classname, "Ran"); 
	 break;
      case CLASS_BARD	: 
	 strcpy(classname, "Brd"); 
	 break;
      case CLASS_SHAMAN	: 
	 strcpy(classname, "Sha"); 
	 break;
      default : 
	 strcpy(classname, "---"); 
	 break;
      }

      switch (player.sex) {
      case SEX_FEMALE	: 
	 sexname = 'F'; 
	 break;
      case SEX_MALE	: 
	 sexname = 'M'; 
	 break;
      case SEX_NEUTRAL: 
	 sexname = 'N'; 
	 break;
      default : 
	 sexname = '-'; 
	 break;
      }

      printf("%5d. ID: %5ld (%c) [%2d %s] %-16s %9dg %9db\n", ++num,
          player.saved.idnum, sexname, player.level,
          classname, player.name, player.points.gold,
          player.points.bank_gold);
   }
}


int main(int argc, char *argv[])
{
   switch(argc) {
   case 2:
      show(argv[1], NULL);
   case 3:
      show(argv[1], argv[2]);
   default:
      printf("Usage: %s playerfile-name <searchstring>\n", argv[0]);
   }
  return 1;
}