X-Git-Url: http://the.earth.li/gitweb/?p=onak.git;a=blobdiff_plain;f=merge.c;h=9d03411cde1f3a8eaba108b0fc51c917e152dde5;hp=353a844e6de9a1d346e7f102d7872b4378206137;hb=de18b56efecadc4b5d2473904828db9c08cd2162;hpb=e0dd4d10f385cd19da389ec66622eea8aa66ae59 diff --git a/merge.c b/merge.c index 353a844..9d03411 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. @@ -164,17 +163,15 @@ struct openpgp_signedpacket_list *find_signed_packet( * removes it if found. Assumes the packet can only exist a maximum of * once in the list. */ -bool remove_signed_packet(struct openpgp_signedpacket_list **packet_list, +static void remove_signed_packet(struct openpgp_signedpacket_list **packet_list, struct openpgp_signedpacket_list **list_end, struct openpgp_packet *packet) { struct openpgp_signedpacket_list *cur = NULL; struct openpgp_signedpacket_list *prev = NULL; - bool found = false; - for (cur = *packet_list; !found && (cur != NULL); cur = cur->next) { + for (cur = *packet_list; cur != NULL; cur = cur->next) { if (compare_packets(cur->packet, packet) == 0) { - found = true; if (prev == NULL) { *packet_list = cur->next; } else { @@ -183,14 +180,14 @@ bool remove_signed_packet(struct openpgp_signedpacket_list **packet_list, if (cur->next == NULL) { *list_end = prev; } - /* - * TODO: Free the removed signed packet... - */ + cur->next = NULL; + free_signedpacket_list(cur); + break; } prev = cur; } - return found; + return; } /** @@ -210,7 +207,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 +227,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; @@ -362,7 +359,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;