basicly he is saying ALL_ATTS is the same as FA_DIREC and FA_ARCH. Like when one does a open() wiht multipule flags
#define ALL_ATTS (FA_DIREC | FA_ARCH) /* explain */
Im not gonna tell you but look at how a structur is definded
void walker(const char *path, const char *findme)
struct ffblk finder;/* explain */
man chdir.. the name really is really explaniatory
/* explain */
Look at for loops, its really strate forward.
for (res = findfirst("*.*", &finder, ALL_ATTS); res == 0; res = findnext(&finder)) /* explain */
What are you look for here? they are plain if statements
if (strcmp(finder.ff_name, ".") == 0) continue; /* explain */
if (strcmp(finder.ff_name, "..") == 0) continue; /* explain */
the if(finder.ff_attrib & FA_DIREC) is testing to see if the flag FA_DIREC is set.
if (finder.ff_attrib & FA_DIREC) /* explain */
chdir(finder.ff_name); /* explain */
chdir(".."); /* explain */
the chdir()'s are explaind in the man pages.