X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=merge.c;h=305c60a740aab0819370b428a05fa7d2364e3162;hb=fd9ca85878543771a7f09afd821a5a5511e71aea;hp=9dcbf4d20fc3c784df361cb68e6c6a2d8ec5dac2;hpb=5e1b22d763640c4d7a09d07920403d8d491b4410;p=onak.git
diff --git a/merge.c b/merge.c
index 9dcbf4d..305c60a 100644
--- a/merge.c
+++ b/merge.c
@@ -13,22 +13,21 @@
* more details.
*
* You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * this program. If not, see .
*/
+#include
#include
#include
#include
#include "decodekey.h"
-#include "keydb.h"
#include "keyid.h"
#include "keystructs.h"
#include "ll.h"
-#include "log.h"
#include "mem.h"
#include "merge.h"
+#include "onak.h"
/**
* compare_packets - Check to see if 2 OpenPGP packets are the same.
@@ -210,7 +209,7 @@ int merge_packet_sigs(struct openpgp_signedpacket_list *old,
struct openpgp_packet_list *curpacket = NULL;
struct openpgp_packet_list *nextpacket = NULL;
- log_assert(compare_packets(old->packet, new->packet) == 0);
+ assert(compare_packets(old->packet, new->packet) == 0);
curpacket = new->sigs;
while (curpacket != NULL) {
@@ -230,7 +229,7 @@ int merge_packet_sigs(struct openpgp_signedpacket_list *old,
if (lastpacket != NULL) {
lastpacket->next = curpacket->next;
} else {
- log_assert(curpacket == new->sigs);
+ assert(curpacket == new->sigs);
new->sigs = curpacket->next;
}
curpacket->next = NULL;
@@ -327,13 +326,20 @@ int merge_keys(struct openpgp_publickey *a, struct openpgp_publickey *b)
struct openpgp_packet_list *curpacket = NULL;
struct openpgp_packet_list *lastpacket = NULL;
struct openpgp_packet_list *nextpacket = NULL;
+ uint64_t keya, keyb;
if (a == NULL || b == NULL) {
/*
* Do nothing.
*/
- rc = 1;
- } else if (get_keyid(a) != get_keyid(b)) {
+ return 1;
+ }
+
+ if (get_keyid(a, &keya) != ONAK_E_OK) {
+ return 1;
+ } else if (get_keyid(b, &keyb) != ONAK_E_OK) {
+ return 1;
+ } else if (keya != keyb) {
/*
* Key IDs are different.
*/
@@ -355,7 +361,7 @@ int merge_keys(struct openpgp_publickey *a, struct openpgp_publickey *b)
if (lastpacket != NULL) {
lastpacket->next = curpacket->next;
} else {
- log_assert(curpacket == b->sigs);
+ assert(curpacket == b->sigs);
b->sigs = curpacket->next;
}
curpacket->next = NULL;