summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/pqueue/pqueue.c
diff options
context:
space:
mode:
authorGary Ching-Pang Lin <glin@suse.com>2015-03-31 12:14:06 +0800
committerPeter Jones <pjones@redhat.com>2015-05-12 13:51:02 -0400
commit3285f5394161e2fde1045fd3f9753a625d03a1aa (patch)
treea3149decea22d31dfe81cc7054f55d65fc45f46a /Cryptlib/OpenSSL/crypto/pqueue/pqueue.c
parentd7cbd4e3927ea272c709e3f0fd28d53fcc074c34 (diff)
downloadefi-boot-shim-3285f5394161e2fde1045fd3f9753a625d03a1aa.tar.gz
efi-boot-shim-3285f5394161e2fde1045fd3f9753a625d03a1aa.zip
Update Cryptlib and openssl
Update Cryptlib to r16559 and openssl to 0.9.8zf Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/pqueue/pqueue.c')
-rw-r--r--Cryptlib/OpenSSL/crypto/pqueue/pqueue.c324
1 files changed, 153 insertions, 171 deletions
diff --git a/Cryptlib/OpenSSL/crypto/pqueue/pqueue.c b/Cryptlib/OpenSSL/crypto/pqueue/pqueue.c
index 8ebba8a8..69cfefd5 100644
--- a/Cryptlib/OpenSSL/crypto/pqueue/pqueue.c
+++ b/Cryptlib/OpenSSL/crypto/pqueue/pqueue.c
@@ -1,7 +1,7 @@
/* crypto/pqueue/pqueue.c */
-/*
+/*
* DTLS implementation written by Nagendra Modadugu
- * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
+ * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
*/
/* ====================================================================
* Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved.
@@ -11,7 +11,7 @@
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
@@ -61,182 +61,164 @@
#include <openssl/bn.h>
#include "pqueue.h"
-typedef struct _pqueue
- {
- pitem *items;
- int count;
- } pqueue_s;
-
-pitem *
-pitem_new(PQ_64BIT priority, void *data)
- {
- pitem *item = (pitem *) OPENSSL_malloc(sizeof(pitem));
- if (item == NULL) return NULL;
-
- pq_64bit_init(&(item->priority));
- pq_64bit_assign(&item->priority, &priority);
-
- item->data = data;
- item->next = NULL;
-
- return item;
- }
-
-void
-pitem_free(pitem *item)
- {
- if (item == NULL) return;
-
- pq_64bit_free(&(item->priority));
- OPENSSL_free(item);
- }
-
-pqueue_s *
-pqueue_new()
- {
- pqueue_s *pq = (pqueue_s *) OPENSSL_malloc(sizeof(pqueue_s));
- if (pq == NULL) return NULL;
-
- memset(pq, 0x00, sizeof(pqueue_s));
- return pq;
- }
-
-void
-pqueue_free(pqueue_s *pq)
- {
- if (pq == NULL) return;
-
- OPENSSL_free(pq);
- }
-
-pitem *
-pqueue_insert(pqueue_s *pq, pitem *item)
- {
- pitem *curr, *next;
-
- if (pq->items == NULL)
- {
- pq->items = item;
- return item;
- }
-
- for(curr = NULL, next = pq->items;
- next != NULL;
- curr = next, next = next->next)
- {
- if (pq_64bit_gt(&(next->priority), &(item->priority)))
- {
- item->next = next;
-
- if (curr == NULL)
- pq->items = item;
- else
- curr->next = item;
-
- return item;
- }
- /* duplicates not allowed */
- if (pq_64bit_eq(&(item->priority), &(next->priority)))
- return NULL;
- }
-
- item->next = NULL;
- curr->next = item;
-
- return item;
- }
-
-pitem *
-pqueue_peek(pqueue_s *pq)
- {
- return pq->items;
- }
-
-pitem *
-pqueue_pop(pqueue_s *pq)
- {
- pitem *item = pq->items;
-
- if (pq->items != NULL)
- pq->items = pq->items->next;
-
- return item;
- }
-
-pitem *
-pqueue_find(pqueue_s *pq, PQ_64BIT priority)
- {
- pitem *next;
- pitem *found = NULL;
-
- if ( pq->items == NULL)
- return NULL;
-
- for ( next = pq->items; next->next != NULL; next = next->next)
- {
- if ( pq_64bit_eq(&(next->priority), &priority))
- {
- found = next;
- break;
- }
- }
-
- /* check the one last node */
- if ( pq_64bit_eq(&(next->priority), &priority))
- found = next;
-
- if ( ! found)
- return NULL;
-
- return found;
- }
+typedef struct _pqueue {
+ pitem *items;
+ int count;
+} pqueue_s;
+
+pitem *pitem_new(PQ_64BIT priority, void *data)
+{
+ pitem *item = (pitem *)OPENSSL_malloc(sizeof(pitem));
+ if (item == NULL)
+ return NULL;
+
+ pq_64bit_init(&(item->priority));
+ pq_64bit_assign(&item->priority, &priority);
+
+ item->data = data;
+ item->next = NULL;
+
+ return item;
+}
+
+void pitem_free(pitem *item)
+{
+ if (item == NULL)
+ return;
+
+ pq_64bit_free(&(item->priority));
+ OPENSSL_free(item);
+}
+
+pqueue_s *pqueue_new()
+{
+ pqueue_s *pq = (pqueue_s *)OPENSSL_malloc(sizeof(pqueue_s));
+ if (pq == NULL)
+ return NULL;
+
+ memset(pq, 0x00, sizeof(pqueue_s));
+ return pq;
+}
+
+void pqueue_free(pqueue_s *pq)
+{
+ if (pq == NULL)
+ return;
+
+ OPENSSL_free(pq);
+}
+
+pitem *pqueue_insert(pqueue_s *pq, pitem *item)
+{
+ pitem *curr, *next;
+
+ if (pq->items == NULL) {
+ pq->items = item;
+ return item;
+ }
+
+ for (curr = NULL, next = pq->items;
+ next != NULL; curr = next, next = next->next) {
+ if (pq_64bit_gt(&(next->priority), &(item->priority))) {
+ item->next = next;
+
+ if (curr == NULL)
+ pq->items = item;
+ else
+ curr->next = item;
+
+ return item;
+ }
+ /* duplicates not allowed */
+ if (pq_64bit_eq(&(item->priority), &(next->priority)))
+ return NULL;
+ }
+
+ item->next = NULL;
+ curr->next = item;
+
+ return item;
+}
+
+pitem *pqueue_peek(pqueue_s *pq)
+{
+ return pq->items;
+}
+
+pitem *pqueue_pop(pqueue_s *pq)
+{
+ pitem *item = pq->items;
+
+ if (pq->items != NULL)
+ pq->items = pq->items->next;
+
+ return item;
+}
+
+pitem *pqueue_find(pqueue_s *pq, PQ_64BIT priority)
+{
+ pitem *next;
+ pitem *found = NULL;
+
+ if (pq->items == NULL)
+ return NULL;
+
+ for (next = pq->items; next->next != NULL; next = next->next) {
+ if (pq_64bit_eq(&(next->priority), &priority)) {
+ found = next;
+ break;
+ }
+ }
+
+ /* check the one last node */
+ if (pq_64bit_eq(&(next->priority), &priority))
+ found = next;
+
+ if (!found)
+ return NULL;
+
+ return found;
+}
#if PQ_64BIT_IS_INTEGER
-void
-pqueue_print(pqueue_s *pq)
- {
- pitem *item = pq->items;
-
- while(item != NULL)
- {
- printf("item\t" PQ_64BIT_PRINT "\n", item->priority);
- item = item->next;
- }
- }
-#endif
+void pqueue_print(pqueue_s *pq)
+{
+ pitem *item = pq->items;
-pitem *
-pqueue_iterator(pqueue_s *pq)
- {
- return pqueue_peek(pq);
- }
+ while (item != NULL) {
+ printf("item\t" PQ_64BIT_PRINT "\n", item->priority);
+ item = item->next;
+ }
+}
+#endif
-pitem *
-pqueue_next(pitem **item)
- {
- pitem *ret;
+pitem *pqueue_iterator(pqueue_s *pq)
+{
+ return pqueue_peek(pq);
+}
- if ( item == NULL || *item == NULL)
- return NULL;
+pitem *pqueue_next(pitem **item)
+{
+ pitem *ret;
+ if (item == NULL || *item == NULL)
+ return NULL;
- /* *item != NULL */
- ret = *item;
- *item = (*item)->next;
+ /* *item != NULL */
+ ret = *item;
+ *item = (*item)->next;
- return ret;
- }
+ return ret;
+}
-int
-pqueue_size(pqueue_s *pq)
+int pqueue_size(pqueue_s *pq)
{
- pitem *item = pq->items;
- int count = 0;
-
- while(item != NULL)
- {
- count++;
- item = item->next;
- }
- return count;
+ pitem *item = pq->items;
+ int count = 0;
+
+ while (item != NULL) {
+ count++;
+ item = item->next;
+ }
+ return count;
}