diff options
author | Tim Janik <timj@gtk.org> | 2000-03-01 09:44:10 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2000-03-01 09:44:10 +0000 |
commit | db8baf697889c80c0632d7cc91343c18a2647429 (patch) | |
tree | 0c33983550e73a88b4aa2d7f09bc905cf3e4c0b5 /gtimer.c | |
parent | d568a76ae4976e0aa01e26e868121a07b4e91338 (diff) | |
download | glib-db8baf697889c80c0632d7cc91343c18a2647429.tar.gz |
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.
Diffstat (limited to 'gtimer.c')
-rw-r--r-- | gtimer.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -184,9 +184,16 @@ g_timer_elapsed (GTimer *timer, elapsed.tv_sec = rtimer->end.tv_sec - rtimer->start.tv_sec; total = elapsed.tv_sec + ((gdouble) elapsed.tv_usec / 1e6); + if (total < 0) + { + total = 0; - if (microseconds) + if (microseconds) + *microseconds = 0; + } + else if (microseconds) *microseconds = elapsed.tv_usec; + #endif /* !G_OS_WIN32 */ return total; |