]> wirehaze git hosting - ppos.git/blobdiff - queue/queue.c

wirehaze git hosting

fix sadness
[ppos.git] / queue / queue.c
index e54cb5e4730ae7da41d846e2f609ffef20a5577e..2aed9eb54cae7f70b4021011226bf4b40adeba7c 100644 (file)
@@ -48,22 +48,16 @@ queue_destroy (struct queue_t *queue)
   struct node_t *n, *next;
 
   if (!queue)
-    {
-      return ERROR;
-    }
+    return ERROR;
 
-  if (!(n = queue->head))
-    {
-      free (queue);
-      return NOERROR;
-    }
+  n = queue->head;
 
-  do
+  while (n)
     {
       next = n->next;
       node_destroy (n);
+      n = next;
     }
-  while ((n = next));
 
   free (queue);
   return NOERROR;
@@ -75,14 +69,10 @@ queue_add (struct queue_t *queue, void *item)
   struct node_t *n;
 
   if (!queue || !item)
-    {
-      return ERROR;
-    }
+    return ERROR;
 
   if (!(n = node_create ()))
-    {
-      return ERROR;
-    }
+    return ERROR;
 
   n->item = item;
   ++queue->size;
@@ -103,14 +93,10 @@ queue_del (struct queue_t *queue, void *item)
   struct node_t *n, *prev;
 
   if (!queue || !item)
-    {
-      return ERROR;
-    }
+    return ERROR;
 
   if (!(n = queue->head))
-    {
-      return ERROR;
-    }
+    return ERROR;
 
   prev = NULL;
 
@@ -121,29 +107,19 @@ queue_del (struct queue_t *queue, void *item)
     }
 
   if (!n) /* not found */
-    {
-      return ERROR;
-    }
+    return ERROR;
 
   if (prev)
-    {
-      prev->next = n->next;
-    }
+    prev->next = n->next;
 
   if (queue->head == n)
-    {
-      queue->head = n->next;
-    }
+    queue->head = n->next;
 
   if (queue->tail == n)
-    {
-      queue->tail = prev;
-    }
+    queue->tail = prev;
 
   if (queue->iterator == n)
-    {
-      queue->iterator = n->next;
-    }
+    queue->iterator = n->next;
 
   --queue->size;
   node_destroy (n);
@@ -156,33 +132,22 @@ queue_has (struct queue_t *queue, void *item)
   struct node_t *n;
 
   if (!queue || !item)
-    {
-      return false;
-    }
+    return false;
 
   if (!(n = queue->head))
-    {
-      return false;
-    }
+    return false;
 
   while (n->item != item && (n = n->next))
     ;
 
-  if (!n)
-    {
-      return false;
-    }
-
-  return true;
+  return n != NULL;
 }
 
 int
 queue_size (struct queue_t *queue)
 {
   if (!queue)
-    {
-      return ERROR;
-    }
+    return ERROR;
 
   return queue->size;
 }
@@ -191,9 +156,7 @@ void *
 queue_head (struct queue_t *queue)
 {
   if (!queue || !queue->head)
-    {
-      return NULL;
-    }
+    return NULL;
 
   queue->iterator = queue->head;
 
@@ -204,16 +167,12 @@ void *
 queue_next (struct queue_t *queue)
 {
   if (!queue || !queue->iterator)
-    {
-      return NULL;
-    }
+    return NULL;
 
   queue->iterator = queue->iterator->next;
 
   if (!queue->iterator)
-    {
-      return NULL;
-    }
+    return NULL;
 
   return queue->iterator->item;
 }
@@ -222,9 +181,7 @@ void *
 queue_item (struct queue_t *queue)
 {
   if (!queue || !queue->iterator)
-    {
-      return NULL;
-    }
+    return NULL;
 
   return queue->iterator->item;
 }
@@ -235,9 +192,7 @@ queue_print (char *name, struct queue_t *queue, void (func) (void *))
   struct node_t *n;
 
   if (!name)
-    {
-      return;
-    }
+    return;
 
   printf ("%s: ", name);
 
@@ -252,14 +207,10 @@ queue_print (char *name, struct queue_t *queue, void (func) (void *))
   for (n = queue->head; n; n = n->next)
     {
       if (func)
-        {
-          func (n->item);
-        }
+        func (n->item);
 
       else
-        {
-          fputs ("undef", stdout);
-        }
+        fputs ("undef", stdout);
 
       putchar (' ');
     }