The code I posted is from a SMAUG derived codebase, your details might be a bit different. I posted the lines around so you might find it better in your code, line 4 was the only line of interest in this case. Your version of the function does not seem to use the iNest, so remove it. As it has been said before, your code is using the wrong struct name, it should be dirent not direct. Make sure you are only defining de once, and it is struct dirent* as shown.
save.c:2334: warning: unused variable `iNest'
/*This is what i have before i made it look like yours*/
void load_corpses( void )
{
DIR *dp;
struct direct *de;
extern FILE *fpArea;
extern char strArea[MAX_INPUT_LENGTH];
extern int falling;
if ( !(dp = opendir(CORPSE_DIR)) )
/*Changed it to look like the one you posted and it gave me all the same errors i had play the save.c:2334: warning: unused variable `iNest'*/
Remove int iNest;. It means you declared something and never used it.