All pastes #256148 Raw Edit

Someone

public text v1 · immutable
#256148 ·published 2006-11-23 20:11 UTC
rendered paste body
/*
Auto archive script Written by Kakashi
*/


   #include <dirent.h>
   #include <time.h>
   #include <sys/types.h>
   #include <sys/stat.h>
   #include <unistd.h>


       main()
       {
           struct dirent **namelist, **releaselist;
           struct stat *buf;
           size_t seconds, now;

           int n, i;
           char path[128];
           char releasepath[128];

           n = scandir("/gl2/site", &namelist, 0, alphasort);
           if (n < 0)
               perror("scandir");
           else
                {
               while(n--)
                {

                //Excluding sections that doesnt need any checking
                if(strcmp(namelist[n]->d_name, "archive") == 0)
                        continue;
                else if (strcmp(namelist[n]->d_name, "groups") == 0)
                        continue;
                else if (strcmp(namelist[n]->d_name, "requests") == 0)
                        continue;
                else if (strncmp(namelist[n]->d_name, "Last_PRE", 8) == 0)
                        continue;
                else if (strncmp(namelist[n]->d_name, "Latest_Race", 11) == 0)
                        continue;
                else if (strcmp(namelist[n]->d_name, "..") == 0)
                        continue;
                else if (strcmp(namelist[n]->d_name, ".") == 0)
                        continue;

                   printf("%s\n", namelist[n]->d_name);
                   //Starting Section Seach
                   sprintf(path, "/gl2/site/%s", namelist[n]->d_name);
                   free(namelist[n]);
        i = 0;
                              i = scandir(path, &releaselist, 0, alphasort);
                                           if (i < 0)
                                               perror("scandir");

                                           else
                                                {

                                               while(i--)
                                                {
                                                        //Excluding the stuff we dont need
                                                if (strstr(releaselist[i]->d_name, "incomplete") != 0)
                                                       continue;
                                                else if (strcmp(releaselist[i]->d_name, "..") == 0)
                                                       continue;
                                                else if (strcmp(releaselist[i]->d_name, ".") == 0)
                                                       continue;

                                               sprintf(releasepath,"%s/%s", path, releaselist[i]->d_name);
                                               stat(releasepath,buf);
                                               now = time(NULL);
                                               seconds = now - buf->st_mtime;
                                               printf("%s %d\n", releaselist[i]->d_name, seconds);

                                                free(releaselist[i]);
                                               }
                                              free(releaselist);
                                            }
               }
               free(namelist);
           }
       }