ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/runParallel/getfile.c
Revision: 2943
Committed: Mon Jul 17 23:55:43 2006 UTC (18 years, 9 months ago) by chuckv
Content type: text/plain
File size: 1531 byte(s)
Log Message:
It's sort of working now.

File Contents

# Content
1
2 #include <stdio.h>
3 #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 int nfiles(char* dirname[MAXPATHLEN + 1],int extension)
18 {
19 int nfiles;
20 mydir = (char*)dirname;
21 mynode = extension;
22 nfiles = scandir(".", &namelist, amber_rst, alphasort);
23 return(nfiles);
24 }
25
26 char* getfilename(int which) {
27 char* fname;
28 int i;
29
30 fname = namelist[which]->d_name;
31 printf("Getfilename filename is: %s\n",fname);
32 return fname;
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 */
41 }
42
43 int
44 amber_rst(const struct dirent * dir)
45 {
46
47 struct stat buf;
48 char filename[MAXPATHLEN + 1];
49
50 char *base, *exten;
51 char *dot = ".";
52 char extenpattern[5];
53
54 sprintf(filename, "%s/%s",".", dir->d_name);
55
56
57 if (stat(filename, &buf) != 0)
58 {
59 return (0);
60 }
61
62 if (buf.st_mode & S_IFDIR)
63 {
64 return (0);
65 }
66
67 sprintf(filename, "%s", dir->d_name);
68 base = (char*)strtok(filename, ".");
69 exten=strtok(NULL,"\0");
70 sprintf(extenpattern,"%i",mynode);
71
72
73 if (exten!=NULL && !strcasecmp(exten,extenpattern))
74 {
75 printf("found extension %s\n",dir->d_name);
76 return (1);
77 }
78
79 return (0);
80
81 }
82