/* Adds a new element at the head of the queue.  */
void g_queue_push_head(GQueue *queue, gpointer data)
/* Adds a new element at the head of the queue.  */
void g_queue_push_head(GQueue *queue, gpointer data)
{
  g_return_if_fail (queue != NULL);
  queue->head = g_list_prepend (queue->head, data);
  if (!queue->tail)
    queue->tail = queue->head;
  queue->length++;
}