#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));
}