Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!maverick.ksu.ksu.edu!ux1.cso.uiuc.edu!osiris.cso.uiuc.edu!gordon From: gordon@osiris.cso.uiuc.edu (John Gordon) Newsgroups: comp.os.msdos.programmer Subject: Bug in TC findfirst()/findnext()! Summary: Bug! Keywords: tc,bug,find,findfirst,findnext Message-ID: <1991Feb25.192823.18224@ux1.cso.uiuc.edu> Date: 25 Feb 91 19:28:23 GMT Sender: usenet@ux1.cso.uiuc.edu (News) Organization: University of Illinois at Urbana Lines: 44 I submit the following program: ---------- #include #include #include #include #include main() { struct ffblk fileinfo; char path[256]; getcwd(path, 250); strcat(path, "\\*.*"); if(findfirst(path, &fileinfo, FA_DIREC) != 0) /* scan for subdirs */ { printf("No sub-directories!\n"); exit(2); } printf("%s\n", fileinfo.ff_name); while(findnext(&fileinfo) == 0) /* continue scanning for subdirs */ printf("%s\n", fileinfo.ff_name); } --------- According to the _Turbo_C_Bible_, calls to findfirst() and findnext() are supposed to return filenames that match *both* the given path *and* the given attribute. However, the above program, which clearly specifies the *directory* attribute (FA_DIREC), finds both directories *and* plain files. Anyone have any comments/fixes/etc? --- John Gordon Internet: gordon@osiris.cso.uiuc.edu #include gordon@cerl.cecer.army.mil #include