Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=45fa7f1e8da37f2cabbb0bf2ae174a1a5e51cc14

commit 45fa7f1e8da37f2cabbb0bf2ae174a1a5e51cc14
Author: Miklos Vajna <vmik...@frugalware.org>
Date:   Mon Aug 29 11:30:39 2011 +0200

Handle mistyped repo urls as a warning

Since we started reading fdb files directly, this was handled as an
error, revert back to the old behaviour. (Handy in case you have two
repos, the first is not yet existing, but will be in the future.)

diff --git a/lib/libpacman/be_files.c b/lib/libpacman/be_files.c
index e3f4c3e..41abaa7 100644
--- a/lib/libpacman/be_files.c
+++ b/lib/libpacman/be_files.c
@@ -159,7 +159,10 @@ void _pacman_db_rewind(pmdb_t *db)
db->handle = archive_read_new();
archive_read_support_compression_all(db->handle);
archive_read_support_format_all(db->handle);
-               archive_read_open_filename(db->handle, dbpath, 
ARCHIVE_DEFAULT_BYTES_PER_BLOCK);
+               if (archive_read_open_filename(db->handle, dbpath, 
ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) {
+                       archive_read_finish(db->handle);
+                       db->handle = NULL;
+               }
}
}

@@ -254,7 +257,7 @@ pmpkg_t *_pacman_db_scan(pmdb_t *db, const char *target, 
unsigned int inforeq)
} else {
if (!db->handle)
_pacman_db_rewind(db);
-                               if (archive_read_next_header(db->handle, 
&entry) != ARCHIVE_OK) {
+                               if (!db->handle || 
archive_read_next_header(db->handle, &entry) != ARCHIVE_OK) {
return NULL;
}
// make sure it's a directory
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to