From dc088e6392ddb5e48e8b35423ca5242d03ecfe91 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Mon, 3 Mar 2008 00:15:12 +0000 Subject: Repair corrupted package databases. --- Cydia.mm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Cydia.mm b/Cydia.mm index 5d737f8..c24ec42 100644 --- a/Cydia.mm +++ b/Cydia.mm @@ -1722,7 +1722,14 @@ NSString *Scour(const char *field, const char *begin, const char *end) { delete resolver_; delete records_; cache_.Close(); - _assert(cache_.Open(progress_, true)); + + if (!cache_.Open(progress_, true)) { + fprintf(stderr, "repairing corrupted database...\n"); + _error->Discard(); + [self update]; + _assert(cache_.Open(progress_, true)); + } + records_ = new pkgRecords(cache_); resolver_ = new pkgProblemResolver(cache_); fetcher_ = new pkgAcquire(&status_); -- cgit v1.2.3