From 0eb77fc848fa25c1bc36cc82908655c32ae73702 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 18 Feb 2008 03:11:40 +0100 Subject: [PATCH] Speed up by 10%. --- ChangeLog | 8 +++++++- lib/git-merge-changelog.c | 11 +++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2583f1a06d..437e4a1110 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-02-17 Bruno Haible + + Speed up by 10%. + * lib/git-merge-changelog.c (main): Use the iterator to iterate through + result_entries, rather than an index-based loop. + 2008-02-17 Bruno Haible Speed up by 25%. @@ -23769,4 +23775,4 @@ * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code now works outside glibc. -2005-08-25 Paul Eggert \ No newline at end of file +2005-08-25 Paul Eggert diff --git a/lib/git-merge-changelog.c b/lib/git-merge-changelog.c index 5f639eff0d..56e5511024 100644 --- a/lib/git-merge-changelog.c +++ b/lib/git-merge-changelog.c @@ -1505,11 +1505,14 @@ There is NO WARRANTY, to the extent permitted by law.\n\ for (i = 0; i < n; i++) conflict_write (fp, (struct conflict *) gl_list_get_at (result_conflicts, i)); } + /* Output the modified and unmodified entries, in order. */ { - size_t n = gl_list_size (result_entries); - size_t i; - for (i = 0; i < n; i++) - entry_write (fp, (struct entry *) gl_list_get_at (result_entries, i)); + gl_list_iterator_t iter = gl_list_iterator (result_entries); + const void *elt; + gl_list_node_t node; + while (gl_list_iterator_next (&iter, &elt, &node)) + entry_write (fp, (struct entry *) elt); + gl_list_iterator_free (&iter); } if (fwriteerror (fp)) -- 2.30.2