From 3030542d10d4e87997a894a9eb63122cd2426a94 Mon Sep 17 00:00:00 2001
From: Dan McGee <dan@archlinux.org>
Date: Sun, 12 Dec 2010 20:38:20 -0600
Subject: 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>
---
 lib/libalpm/be_sync.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

(limited to 'lib/libalpm')

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 */
-- 
cgit v1.2.3-70-g09d2