summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2014-05-06 20:32:12 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2014-05-06 20:32:12 +0000
commitb178add5c9c2a038643e7e3e3589881002b8b00d (patch)
tree40f881118081dc816a3eca976777bce5f9a8a0c3 /lib
parentb1bc89d05a9594c925a69feca47a522360def6f2 (diff)
Assorted cleanups:
- replace hardcoded sizes with sizeof() - pqueue_find() apparently used to need to keep track of the previous node when iterating, which causes its logic to be complicated. However, nowadays it only needs to iterate, so replace with a straightforward, much readable logic. - remove #if 0'ed code From ``sin'' from 2f30 dot org on tech@, thanks!
Diffstat (limited to 'lib')
-rw-r--r--lib/libcrypto/pqueue/pqueue.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/lib/libcrypto/pqueue/pqueue.c b/lib/libcrypto/pqueue/pqueue.c
index b8fed503a5e..fc68ae19c3d 100644
--- a/lib/libcrypto/pqueue/pqueue.c
+++ b/lib/libcrypto/pqueue/pqueue.c
@@ -126,7 +126,8 @@ pqueue_insert(pqueue_s *pq, pitem *item)
curr = next, next = next->next) {
/* we can compare 64-bit value in big-endian encoding
* with memcmp:-) */
- int cmp = memcmp(next->priority, item->priority, 8);
+ int cmp = memcmp(next->priority, item->priority,
+ sizeof(item->priority));
if (cmp > 0) /* next > item */
{
item->next = next;
@@ -173,27 +174,16 @@ pqueue_find(pqueue_s *pq, unsigned char *prio64be)
if (pq->items == NULL)
return NULL;
- for (next = pq->items; next->next != NULL; next = next->next) {
+ for (next = pq->items; next != NULL; next = next->next) {
if (memcmp(next->priority, prio64be, 8) == 0) {
found = next;
break;
}
}
- /* check the one last node */
- if (memcmp(next->priority, prio64be, 8) ==0)
- found = next;
-
- if (! found)
+ if (!found)
return NULL;
-#if 0 /* find works in peek mode */
- if (prev == NULL)
- pq->items = next->next;
- else
- prev->next = next->next;
-#endif
-
return found;
}