2015-09-05 19:50:37 +02:00
|
|
|
BDVK file_info_count;
|
|
|
|
int file_count_copy;
|
|
|
|
|
|
|
|
void DirFileCount(dword way)
|
|
|
|
{
|
|
|
|
dword dirbuf, fcount, i, filename;
|
|
|
|
dword cur_file;
|
2016-02-19 01:33:21 +01:00
|
|
|
if (dir_exists(way))
|
2015-09-05 19:50:37 +02:00
|
|
|
{
|
|
|
|
cur_file = malloc(4096);
|
2018-05-13 18:06:20 +02:00
|
|
|
// In the process of recursive descent, memory must be allocated
|
|
|
|
// dynamically, because the static variable cause a fault!!!
|
|
|
|
// But unfortunately pass away to sacrifice speed.
|
2015-09-05 19:50:37 +02:00
|
|
|
GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL);
|
2015-12-14 15:50:28 +01:00
|
|
|
filename = dirbuf+72;
|
2015-09-05 19:50:37 +02:00
|
|
|
for (i=0; i<fcount; i++)
|
|
|
|
{
|
2015-12-14 15:50:28 +01:00
|
|
|
filename += 304;
|
2015-09-05 19:50:37 +02:00
|
|
|
sprintf(cur_file,"%s/%s",way,filename);
|
|
|
|
|
|
|
|
if (TestBit(ESDWORD[filename-40], 4) )
|
|
|
|
{
|
|
|
|
file_count_copy++;
|
|
|
|
DirFileCount(cur_file);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
file_count_copy++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
free(cur_file);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|