ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/runParallel/getfile.c
(Generate patch)

Comparing trunk/runParallel/getfile.c (file contents):
Revision 2930 by chuckv, Thu Jul 13 15:37:28 2006 UTC vs.
Revision 2956 by chuckv, Wed Jul 19 16:08:12 2006 UTC

# Line 1 | Line 1
1 #ifdef __sun__
1  
2   #include <stdio.h>
3   #include <string.h>
5 #include <sys/types.h>
6 #include <sys/stat.h>
7 #include <sys/dir.h>
8 #include <sys/param.h>
9 #include <sys/stat.h>
10
11 struct direct   **namelist;
12 char* mydir;
13
14
15 int alphasort(struct direct **d1, struct direct **d2);
16
17 int amber_rst(const struct direct * dir);
18
19 int nfiles(dirname)
20     char* dirname[MAXPATHLEN + 1];
21 {
22  int nfiles;
23  mydir =  (char*)dirname;
24  nfiles = scandir((char*)dirname, &namelist, pot_only, alphasort);
25  return(nfiles);
26 }
27
28 void getfilename(int* which, char* fname, int flen) {
29  char* filename;
30  int i;
31
32  filename = namelist[*which - 1]->d_name;
33
34  for (i = 0; i < strlen(filename); i++) {
35    fname[i] = filename[i];
36  }
37  for (i = strlen(filename); i < flen; i++) {
38    fname[i] = 0;
39  }
40  flen = strlen(filename);
41 }
42
43 int
44 amber_rst(const struct direct * dir)
45 {
46
47  struct stat     buf;
48  char            filename[MAXPATHLEN + 1];
49  char            *base, *exten;
50  char            *dot = ".";
51
52  sprintf(filename, "%s/%s", mydir, dir->d_name);
53  
54  if (stat(filename, &buf) != 0)
55    {
56      return (0);
57    }
58  
59  if (buf.st_mode & S_IFDIR)  
60    {
61      return (0);
62    }
63  
64  sprintf(filename, "%s", dir->d_name);
65  base = (char*)strtok(filename, ".");
66  exten=strtok(NULL,"\0");
67
68  if (strcasecmp(exten, "pot"))
69    {
70      return (0);
71    }  
72  return (1);
73
74 }
75
76 #endif /* __sun__ */
77
78 #ifdef __linux__
79
80 #include <stdio.h>
81 #include <string.h>
4   #include <dirent.h>
5   #include <sys/param.h>
6   #include <sys/stat.h>
7 + #include "getfile.h"
8  
9   struct dirent   **namelist;
10   char* mydir;
11 + int mynode;
12 + //int nfiles(char* dirname[MAXPATHLEN + 1]);
13  
14 + int amber_rst(const struct dirent * dir);
15 + //int alphasort(struct direct **d1, struct direct **d2);
16  
17 <
91 <
92 < int pot_only(const struct dirent * dir);
93 <
94 < int nfiles(dirname)
95 <     char* dirname[MAXPATHLEN + 1];
17 > int nfiles(char* dirname[MAXPATHLEN + 1],int extension)
18   {
19    int nfiles;
20    mydir =  (char*)dirname;
21 <  nfiles = scandir((char*)dirname, &namelist, pot_only, alphasort);
21 >  mynode = extension;
22 >  nfiles = scandir(".", &namelist, amber_rst, alphasort);
23    return(nfiles);
24   }
25  
26 < void getfilename_(int* which, char* fname, int flen) {
27 <  char* filename;
26 > char* getfilename(int which) {
27 >  char* fname;
28    int i;
29  
30 <  filename = namelist[*which - 1]->d_name;
31 <
30 >  fname = namelist[which]->d_name;
31 >  return fname;
32 > /*
33    for (i = 0; i < strlen(filename); i++) {
34      fname[i] = filename[i];
35    }
36    for (i = strlen(filename); i < flen; i++) {
37      fname[i] = 0;
38    }
39 <  flen = strlen(filename);
39 >  */
40   }
41  
42   int
# Line 121 | Line 45 | amber_rst(const struct dirent * dir)
45  
46    struct stat     buf;
47    char            filename[MAXPATHLEN + 1];
48 +  size_t namelen;
49    char            *base, *exten;
50    char            *dot = ".";
51 <
52 <  sprintf(filename, "%s/%s", mydir, dir->d_name);
51 >  char            extenpattern[5];
52 >  char* oldexten;
53 >  sprintf(filename, "%s/%s",".", dir->d_name);
54 >        
55    
56    if (stat(filename, &buf) != 0)
57      {
# Line 138 | Line 65 | amber_rst(const struct dirent * dir)
65    
66    sprintf(filename, "%s", dir->d_name);
67    base = (char*)strtok(filename, ".");
68 <  exten=strtok(NULL,"\0");
68 >  //namelen = strlen(base);
69 >  while (base != NULL){
70 >        exten = base;
71 >        base=(char*)strtok(NULL,".");
72 > //      printf("Exten contains: %s\n",exten);
73 >  }
74 >  sprintf(extenpattern,"%s%i","node",mynode);
75 > //  printf("Exten contains: %s\n",exten);
76  
77 <  if (strcasecmp(exten, "pot"))
78 <    {
79 <      return (0);
80 <    }  
147 <  return (1);
77 >  if (exten!=NULL && !strcasecmp(exten,extenpattern))
78 >    {  
79 >      return (1);
80 >    }  
81  
82 +  return (0);
83 +
84   }
85  
151 #endif /*__Linux__*/

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines