+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
+1999-03-17 Jeff Garzik <jgarzik@pobox.com>
+
+ * gstack.c, gqueue.c:
+ Add copyright, clean up code a bit.
+
1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
-/*
-* GQueue, opaque ADT with interface:
-
- q = g_queue_new ();
- count = g_queue_size (q);
-
- q_queue_push_front (q, data);
- q_queue_push_back (q, data);
- data = q_queue_pop_front (q);
- data = q_queue_pop_back (q);
- #define q_queue_push q_queue_push_back
- #define q_queue_pop q_queue_pop_front
-
- list = g_queue_get_list (q);
- #define g_queue_get_front g_queue_get_list
- list_end = g_queue_get_back (q);
-*/
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 1999 Free Software Foundation, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
#ifdef HAVE_CONFIG_H
void
g_queue_free (GQueue *q)
{
- if (q) {
- if (q->list)
- g_list_free (q->list);
- g_free (q);
- }
+ if (q)
+ {
+ if (q->list)
+ g_list_free (q->list);
+ g_free (q);
+ }
}
void
g_queue_push_front (GQueue *q, gpointer data)
{
- if (q) {
- q->list = g_list_prepend (q->list, data);
+ if (q)
+ {
+ q->list = g_list_prepend (q->list, data);
- if (q->list_end == NULL)
- q->list_end = q->list;
+ if (q->list_end == NULL)
+ q->list_end = q->list;
- q->list_size++;
- }
+ q->list_size++;
+ }
}
void
g_queue_push_back (GQueue *q, gpointer data)
{
- if (q) {
- q->list_end = g_list_append (q->list_end, data);
+ if (q)
+ {
+ q->list_end = g_list_append (q->list_end, data);
- if (! q->list)
- q->list = q->list_end;
- else
- q->list_end = q->list_end->next;
+ if (! q->list)
+ q->list = q->list_end;
+ else
+ q->list_end = q->list_end->next;
- q->list_size++;
- }
+ q->list_size++;
+ }
}
{
gpointer data = NULL;
- if ((q) && (q->list)) {
- GList *node;
-
- node = q->list;
- data = node->data;
-
- if (! node->next) {
- q->list = q->list_end = NULL;
- q->list_size = 0;
- }
- else {
- q->list = node->next;
- q->list->prev = NULL;
- q->list_size--;
+ if ((q) && (q->list))
+ {
+ GList *node;
+
+ node = q->list;
+ data = node->data;
+
+ if (! node->next)
+ {
+ q->list = q->list_end = NULL;
+ q->list_size = 0;
+ }
+ else
+ {
+ q->list = node->next;
+ q->list->prev = NULL;
+ q->list_size--;
+ }
+
+ g_list_free_1 (node);
}
- g_list_free_1 (node);
- }
-
return data;
}
{
gpointer data = NULL;
- if ((q) && (q->list)) {
- GList *node;
-
- node = q->list_end;
- data = node->data;
-
- if (! node->prev) {
- q->list = q->list_end = NULL;
- q->list_size = 0;
- }
- else {
- q->list_end = node->prev;
- q->list_end->next = NULL;
- q->list_size--;
+ if ((q) && (q->list))
+ {
+ GList *node;
+
+ node = q->list_end;
+ data = node->data;
+
+ if (! node->prev)
+ {
+ q->list = q->list_end = NULL;
+ q->list_size = 0;
+ }
+ else
+ {
+ q->list_end = node->prev;
+ q->list_end->next = NULL;
+ q->list_size--;
+ }
+
+ g_list_free_1 (node);
}
- g_list_free_1 (node);
- }
-
return data;
}
-/*
-* GQueue, opaque ADT with interface:
-
- q = g_queue_new ();
- count = g_queue_size (q);
-
- q_queue_push_front (q, data);
- q_queue_push_back (q, data);
- data = q_queue_pop_front (q);
- data = q_queue_pop_back (q);
- #define q_queue_push q_queue_push_back
- #define q_queue_pop q_queue_pop_front
-
- list = g_queue_get_list (q);
- #define g_queue_get_front g_queue_get_list
- list_end = g_queue_get_back (q);
-*/
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 1999 Free Software Foundation, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
#ifdef HAVE_CONFIG_H
void
g_queue_free (GQueue *q)
{
- if (q) {
- if (q->list)
- g_list_free (q->list);
- g_free (q);
- }
+ if (q)
+ {
+ if (q->list)
+ g_list_free (q->list);
+ g_free (q);
+ }
}
void
g_queue_push_front (GQueue *q, gpointer data)
{
- if (q) {
- q->list = g_list_prepend (q->list, data);
+ if (q)
+ {
+ q->list = g_list_prepend (q->list, data);
- if (q->list_end == NULL)
- q->list_end = q->list;
+ if (q->list_end == NULL)
+ q->list_end = q->list;
- q->list_size++;
- }
+ q->list_size++;
+ }
}
void
g_queue_push_back (GQueue *q, gpointer data)
{
- if (q) {
- q->list_end = g_list_append (q->list_end, data);
+ if (q)
+ {
+ q->list_end = g_list_append (q->list_end, data);
- if (! q->list)
- q->list = q->list_end;
- else
- q->list_end = q->list_end->next;
+ if (! q->list)
+ q->list = q->list_end;
+ else
+ q->list_end = q->list_end->next;
- q->list_size++;
- }
+ q->list_size++;
+ }
}
{
gpointer data = NULL;
- if ((q) && (q->list)) {
- GList *node;
-
- node = q->list;
- data = node->data;
-
- if (! node->next) {
- q->list = q->list_end = NULL;
- q->list_size = 0;
- }
- else {
- q->list = node->next;
- q->list->prev = NULL;
- q->list_size--;
+ if ((q) && (q->list))
+ {
+ GList *node;
+
+ node = q->list;
+ data = node->data;
+
+ if (! node->next)
+ {
+ q->list = q->list_end = NULL;
+ q->list_size = 0;
+ }
+ else
+ {
+ q->list = node->next;
+ q->list->prev = NULL;
+ q->list_size--;
+ }
+
+ g_list_free_1 (node);
}
- g_list_free_1 (node);
- }
-
return data;
}
{
gpointer data = NULL;
- if ((q) && (q->list)) {
- GList *node;
-
- node = q->list_end;
- data = node->data;
-
- if (! node->prev) {
- q->list = q->list_end = NULL;
- q->list_size = 0;
- }
- else {
- q->list_end = node->prev;
- q->list_end->next = NULL;
- q->list_size--;
+ if ((q) && (q->list))
+ {
+ GList *node;
+
+ node = q->list_end;
+ data = node->data;
+
+ if (! node->prev)
+ {
+ q->list = q->list_end = NULL;
+ q->list_size = 0;
+ }
+ else
+ {
+ q->list_end = node->prev;
+ q->list_end->next = NULL;
+ q->list_size--;
+ }
+
+ g_list_free_1 (node);
}
- g_list_free_1 (node);
- }
-
return data;
}
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 1999 Free Software Foundation, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <glib.h>
-/*
-* GStack, opaque ADT with interface:
-
- stack = g_stack_new ();
- count = g_stack_size (stack);
-
- g_stack_push (stack, data);
- data = g_stack_pop (stack);
-
- slist = g_stack_get_list (stack);
-*/
GStack *
g_stack_new (void)
void
g_stack_free (GStack *stack)
{
- if (stack) {
- if (stack->list)
- g_list_free (stack->list);
+ if (stack)
+ {
+ if (stack->list)
+ g_list_free (stack->list);
- g_free (stack);
- }
+ g_free (stack);
+ }
}
{
gpointer data = NULL;
- if ((stack) && (stack->list)) {
- GList *node = stack->list;
+ if ((stack) && (stack->list))
+ {
+ GList *node = stack->list;
- stack->list = stack->list->next;
+ stack->list = stack->list->next;
- data = node->data;
+ data = node->data;
- g_list_free_1 (node);
- }
+ g_list_free_1 (node);
+ }
return data;
}