if (!GetOpenFileName(&Ofn)) errKind=ekFDia;
else if ((hFile=CreateFile(…))==(HANDLE)-1) errKind=ekOpen;
else if ((ulFileSize=GetFileSize(…))==0xFF) errKind=ekFSiz;
else if (ulFileSize == 0)
{ // braces needed
if (!ProcessTheFile(lpBuf)) errKind=ekProc;
else
{
// further extensive
processing - duplicate of what
// appears below
}
}
else if ((lpBuf=GlobalAlloc(...))==NULL) errKind=ekGAlo;
else if (!ReadFile(hFile,…,&ulBytesRead)) errKind=ekRdFi;
else if (ulBytesRead
==0)
errKind=ekRdZr;
else if (!ProcessTheFile(lpBuf))
errKind=ekProc;
else
{
// further extensive processing
}