#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include "config.h"

int oflag=0;
int days=60;

int count(path)
char *path;
{
   DIR *dirp;
   struct dirent *de;
   struct stat st;
   time_t now;
   int total = 0;
   char path2[100],*f;
   
   dirp = opendir(path);
   if (dirp  ==  0) 
      return 0;
   strcpy(path2, path);
   strcat(path2, "/");
   f = (char *)strchr(path2, '\0');

   now = time(NULL);
   
   for(de = readdir(dirp); de; de = readdir(dirp)) 
   {
      int l = strlen(de->d_name);
      if (strcmp(de->d_name+l-2, ".o") == 0) 
      {
         strcpy(f, de->d_name);
 	 if (stat(path2, &st) != -1)
	    if (now - st.st_mtime < 60*24*60*days)
               total++;
      }
   }
   closedir(dirp);

   return total;
}

main(argc, argv)
int argc;
char *argv[];
{
   char path[1000];

   path[0] = 0;

   while (*++argv)
   {
      if (**argv == '-')
      {
         ++*argv;
         switch(**argv)
         {
            case 'd': days = atoi(*++argv);
                      break;
            case 'o': oflag++;
                      break;
            default: fprintf(stderr, "%s: Illegal switch '%c'\n", **argv);
                     abort(); 
         } 
      }
      else strcpy(path, *argv);
   }
   
   if (path[0] == 0)
      sprintf(path, "%s/%s", MUD_LIB, PLAYER_DIR);
   printf("%d\n", count(path));
}