summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2010-12-13 03:38:20 +0100
committerDan McGee <dan@archlinux.org>2010-12-13 03:38:20 +0100
commit3030542d10d4e87997a894a9eb63122cd2426a94 (patch)
tree0322ec612e448905258dd9ddc07d1a7855601121 /lib
parent9f96c5433a4867cce9dc0c3ff23cb3ba8029be20 (diff)
downloadpacman-3030542d10d4e87997a894a9eb63122cd2426a94.tar.gz
pacman-3030542d10d4e87997a894a9eb63122cd2426a94.tar.xz
Make reading from any file possible in sync DB
Whether it be "desc", "depends", or "deltas", it really doesn't matter- treat them all the same and have the ability to read any data from any file in that list. This continues the work in a44c7b8956. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/libalpm/be_sync.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index b6c99372..f708b16d 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -238,7 +238,8 @@ int _alpm_sync_db_read(pmdb_t *db, struct archive *archive, struct archive_entry
return(-1);
}
- if(strcmp(filename, "desc") == 0 || strcmp(filename, "depends") == 0) {
+ if(strcmp(filename, "desc") == 0 || strcmp(filename, "depends") == 0
+ || strcmp(filename, "deltas") == 0) {
while(_alpm_archive_fgets(line, sizeof(line), archive) != NULL) {
_alpm_strtrim(line);
if(strcmp(line, "%NAME%") == 0) {
@@ -380,19 +381,14 @@ int _alpm_sync_db_read(pmdb_t *db, struct archive *archive, struct archive_entry
STRDUP(linedup, _alpm_strtrim(line), goto error);
pkg->provides = alpm_list_add(pkg->provides, linedup);
}
- }
- }
- } else if(strcmp(filename, "deltas") == 0) {
- while(_alpm_archive_fgets(line, sizeof(line), archive) != NULL) {
- _alpm_strtrim(line);
- if(strcmp(line, "%DELTAS%") == 0) {
- while(_alpm_archive_fgets(line, sizeof(line), archive) && strlen(_alpm_strtrim(line))) {
- pmdelta_t *delta = _alpm_delta_parse(line);
- if(delta) {
- pkg->deltas = alpm_list_add(pkg->deltas, delta);
- }
+ } else if(strcmp(line, "%DELTAS%") == 0) {
+ while(_alpm_archive_fgets(line, sizeof(line), archive) && strlen(_alpm_strtrim(line))) {
+ pmdelta_t *delta = _alpm_delta_parse(line);
+ if(delta) {
+ pkg->deltas = alpm_list_add(pkg->deltas, delta);
}
}
+ }
}
} else {
/* unknown database file */