wolfpaw4.0-release/area/
wolfpaw4.0-release/backup/
wolfpaw4.0-release/bin/
wolfpaw4.0-release/boards/
wolfpaw4.0-release/clans/
wolfpaw4.0-release/councils/
wolfpaw4.0-release/deity/
wolfpaw4.0-release/finger/
wolfpaw4.0-release/gods/
wolfpaw4.0-release/guilds/
wolfpaw4.0-release/lockers/
wolfpaw4.0-release/log/
wolfpaw4.0-release/log/Clean/
wolfpaw4.0-release/maps/
wolfpaw4.0-release/offline_data/
wolfpaw4.0-release/player-obj/
wolfpaw4.0-release/player-obj/a/
wolfpaw4.0-release/player/
wolfpaw4.0-release/player/a/
wolfpaw4.0-release/plog/
wolfpaw4.0-release/save-rooms/
wolfpaw4.0-release/secure/
wolfpaw4.0-release/source/
wolfpaw4.0-release/source/betasrc/system/
wolfpaw4.0-release/source/betasrc/util/
wolfpaw4.0-release/system/clean-source/
wolfpaw4.0-release/system/clean-source/grux/
/*
 * Grub Extract - creates an extract file for the GRUB command
 */

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/dir.h>

#define  DIR_NAME "/home/mud/aota/aoa/lockers/"	/* mud home directoryhere!
*/
#define  MAX_STRING_LENGTH 4096
#define  MAX_NAME_LENGTH 13
#define  MAX_SITE_LENGTH 16
#define  PCFLAG_DEADLY    2
#define  LOWER(c)        ((c) >= 'A' && (c) <= 'Z' ? (c)+'a'-'A' : (c))

time_t	now_time;
int	deleted = 0;
int	output = 0;

char *get_arg( char *argument, char *arg_first )
{
    int count=0;

    while ( isspace(*argument) ) argument++;
    while ( *argument != '\0' && *argument != 10 && ++count <= 255 )
    {
       if ( *argument == ' ' ) {argument++; break;}
       *arg_first = LOWER(*argument);
       arg_first++;
       argument++;
    }
    *arg_first = '\0';
    while ( isspace(*argument) ) argument++;
    return argument;
}

int read_pfile (char *dirname, char *filename )
{
  FILE *fp;
  char fname[MAX_STRING_LENGTH];
  char fname2[MAX_STRING_LENGTH];
  char buf[MAX_STRING_LENGTH];

  sprintf( fname, "%s/%s",dirname, filename );
  sprintf( fname2, "%s/%s.gz",dirname, filename );

  if ( ( fp = fopen( fname, "r" ) ) == NULL )
  {
    if ( ( fp = fopen( fname2, "r" ) ) == NULL )
     return -1;
  }
  output++;
  return 0;
}

void main (void)
{
  DIR *dp;
  struct dirent *dentry;
  char dir_name[100];
  char buf1[100];
  char buf2[100];
  int alpha_loop;
  int cou=0,del;

  now_time = time(0);
  nice(20);

  for (alpha_loop=0; alpha_loop<=25; alpha_loop++)
  {
      sprintf (dir_name, "%s%c", DIR_NAME, 'a' + alpha_loop);
      printf ("dir=%s\n\r", dir_name);
      dp = opendir( dir_name );
      dentry = readdir( dp );
      while ( dentry )
      {
         if ( dentry->d_name[0] != '.' )
            {
	      sprintf(buf1, "/home/mud/aota/aoa/player/%c",'a' + alpha_loop );
	      sprintf(buf2, "%s/%s",dir_name,dentry->d_name);
              if ( ( del=read_pfile(buf1, dentry->d_name ) ) == -1 )
	      {
	        unlink(buf2);
	        deleted++;
	      }
            cou++;
            }
         dentry = readdir( dp );
      }
      closedir( dp );
      printf ("Count=%d, deleted %d output %d\n\r", cou, deleted, output);
  }
}