mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-22 08:58:54 +02:00
minor optimization.
Wed Mar 1 10:39:39 2000 Tim Janik <timj@gtk.org> * gslist.c (g_slist_reverse): minor optimization. * testglib.c (g_node_test): added a couple of tests for g_node_copy(). * glib.h: * gnode.c (g_node_copy): new function to copy subtrees, supplied by dbsears@ix.netcom.com. changed iterator to walk the children list backwards, so we get down from O(n^2) to O(n). * gnode.c (g_node_first_sibling): applied patch from dbsears@ix.netcom.com to optimize access if node->parent is present. * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and thus breaks the original code. * merged changes from 1.2.7. Sat Feb 19 19:43:29 2000 Tim Janik <timj@gtk.org> * testgmodule.c (main): added test to check that not yet bound symbols in shared libraries of the main module are retrievable, from David Gero. Fri Jan 28 11:37:41 2000 Owen Taylor <otaylor@redhat.com> Bug #4156 - Changes vaguely modelled after Scott Gifford's patch * gtimer.c (g_timer_elapsed): Never report negative times - clip times to 0. * gmain.c (g_timeout_prepare): Guard against unexpected clock shifts by never setting a timeout of more than data->interval msecs.
This commit is contained in:
15
testglib.c
15
testglib.c
@@ -77,7 +77,7 @@ g_node_test (void)
|
||||
GNode *node_G;
|
||||
GNode *node_J;
|
||||
guint i;
|
||||
gchar *tstring;
|
||||
gchar *tstring, *cstring;
|
||||
|
||||
g_print ("checking n-way trees: ");
|
||||
failed = FALSE;
|
||||
@@ -165,7 +165,18 @@ g_node_test (void)
|
||||
g_node_traverse (root, G_LEVEL_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
|
||||
TEST (tstring, strcmp (tstring, "ABFEDCGKJIH") == 0);
|
||||
g_free (tstring); tstring = NULL;
|
||||
|
||||
|
||||
cstring = NULL;
|
||||
node = g_node_copy (root);
|
||||
TEST (NULL, g_node_n_nodes (root, G_TRAVERSE_ALL) == g_node_n_nodes (node, G_TRAVERSE_ALL));
|
||||
TEST (NULL, g_node_max_height (root) == g_node_max_height (node));
|
||||
g_node_traverse (root, G_IN_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
|
||||
g_node_traverse (node, G_IN_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &cstring);
|
||||
TEST (cstring, strcmp (tstring, cstring) == 0);
|
||||
g_free (tstring); tstring = NULL;
|
||||
g_free (cstring); cstring = NULL;
|
||||
g_node_destroy (node);
|
||||
|
||||
g_node_destroy (root);
|
||||
|
||||
/* allocation tests */
|
||||
|
Reference in New Issue
Block a user