HLValidation Validate(HLDirectoryItem *pItem) { hlUInt i, uiItemCount; hlChar lpPath[512] = ""; HLValidation eValidation = HL_VALIDATES_OK, eTest; switch(hlItemGetType(pItem)) { case HL_ITEM_FOLDER: if(!bSilent) { Print(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY, " Validating %s:\n", hlItemGetName(pItem)); } uiItemCount = hlFolderGetCount(pItem); for(i = 0; i < uiItemCount; i++) { eTest = Validate(hlFolderGetItem(pItem, i)); if(eTest > eValidation) { eValidation = eTest; } } if(!bSilent) { Print(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY, " Done %s: ", hlItemGetName(pItem)); PrintValidation(eValidation); printf("\n"); } break; case HL_ITEM_FILE: if(!bSilent) { printf(" Validating %s: ", hlItemGetName(pItem)); ProgressStart(); } eValidation = hlFileGetValidation(pItem); if(bSilent) { switch(eValidation) { case HL_VALIDATES_INCOMPLETE: case HL_VALIDATES_CORRUPT: hlItemGetPath(pItem, lpPath, sizeof(lpPath)); printf(" Validating %s: ", lpPath); PrintValidation(eValidation); printf("\n"); break; } } else { PrintValidation(eValidation); printf(" \n"); } break; } return eValidation; }
HLValidation Validate(PackageObject *self, HLDirectoryItem *pItem) { hlUInt i, uiItemCount; hlChar lpPath[512] = ""; HLValidation eValidation = HL_VALIDATES_OK, eTest; switch(hlItemGetType(pItem)) { case HL_ITEM_FOLDER: if(!self->bSilent) { PySys_WriteStdout(" Validating %s:\n", hlItemGetName(pItem)); } uiItemCount = hlFolderGetCount(pItem); for(i = 0; i < uiItemCount; i++) { eTest = Validate(self, hlFolderGetItem(pItem, i)); if(eTest > eValidation) { eValidation = eTest; } } if(!self->bSilent) { PySys_WriteStdout(" Done %s: ", hlItemGetName(pItem)); PrintValidation(eValidation); PySys_WriteStdout("\n"); } break; case HL_ITEM_FILE: if(!self->bSilent) { PySys_WriteStdout(" Validating %s: ", hlItemGetName(pItem)); //ProgressStart(); } eValidation = hlFileGetValidation(pItem); if(self->bSilent) { switch(eValidation) { case HL_VALIDATES_INCOMPLETE: case HL_VALIDATES_CORRUPT: hlItemGetPath(pItem, lpPath, sizeof(lpPath)); PySys_WriteStdout(" Validating %s: ", lpPath); PrintValidation(eValidation); PySys_WriteStdout("\n"); break; } } else { PrintValidation(eValidation); PySys_WriteStdout(" \n"); } break; } return eValidation; }