+void
+g_queue_push_tail (GQueue *queue, gpointer data)
+{
+ if (!queue)
+ return;
+
+ queue->tail = g_list_append (queue->tail, data);
+ if (queue->head == NULL)
+ queue->head = queue->tail;
+ else
+ queue->tail = queue->tail->next;
+ queue->length++;
+}
+