From ea134adf81d22b26807d2c71895b0c23a7804d33 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 29 May 2008 15:48:40 +0300 Subject: [PATCH] Make handleOverlappedFiles() honor rpmfi digest algorithm --- lib/transaction.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/transaction.c b/lib/transaction.c index 1efc871..9ae5b8f 100644 --- a/lib/transaction.c +++ b/lib/transaction.c @@ -566,12 +566,16 @@ assert(otherFi != NULL); } /* Here is a pre-existing modified config file that needs saving. */ - { unsigned char md5sum[50]; - const unsigned char * MD5 = rpmfiMD5(fi); - if (!rpmDoDigest(PGPHASHALGO_MD5, fn, 0, md5sum, NULL) && - memcmp(MD5, md5sum, 16)) { - fi->actions[i] = FA_BACKUP; - break; + { pgpHashAlgo algo = 0; + size_t diglen = 0; + const unsigned char *digest; + if ((digest = rpmfiDigest(fi, &algo, &diglen))) { + unsigned char fdigest[diglen]; + if (!rpmDoDigest(algo, fn, 0, fdigest, NULL) && + memcmp(digest, fdigest, diglen)) { + fi->actions[i] = FA_BACKUP; + break; + } } } fi->actions[i] = FA_ERASE; -- 2.7.4