Index: package_version.cc =================================================================== RCS file: /cvs/cygwin-apps/setup/package_version.cc,v retrieving revision 2.24 diff -u -p -r2.24 package_version.cc --- package_version.cc 14 May 2005 12:30:32 -0000 2.24 +++ package_version.cc 23 Jan 2006 21:20:41 -0000 @@ -29,6 +29,7 @@ static const char *cvsid = #include "resource.h" #include #include "download.h" +#include "Exception.h" using namespace std; @@ -322,8 +323,22 @@ packageversion::scan() * FIXME: This is a bit of a hack. a better way is to abstract * the availability logic to the package */ - if (!check_for_cached (*(source())) && ::source == IDC_SOURCE_CWD) - source()->sites.clear(); + try + { + if (!check_for_cached (*(source())) && ::source == IDC_SOURCE_CWD) + source()->sites.clear(); + } + catch (Exception * e) + { + // We can ignore these, since we're clearing the source list anyway + if (e->errNo() == APPERR_CORRUPT_PACKAGE) + { + source()->sites.clear(); + return; + } + // Unexpected exception. + throw e; + } } static bool