From: Bruno Haible Date: Tue, 29 Jul 2025 07:11:40 +0000 (+0200) Subject: git-merge-changelog: Fix essential functionality (regr. 2023-05-21). X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21b208f43ab851f9d0747cd45ec67b1b3827e8a2;p=thirdparty%2Fgnulib.git git-merge-changelog: Fix essential functionality (regr. 2023-05-21). Fixes two mistakes in commit a8921605af342b9061e04e18fc952d386e5a071c. Reported by Patrice Dumas in . * lib/git-merge-changelog.c (main): Fix off-by-one mistakes in crucial places. --- diff --git a/ChangeLog b/ChangeLog index a5a766deec..e18ef65048 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2025-07-29 Bruno Haible + + git-merge-changelog: Fix essential functionality (regr. 2023-05-21). + Fixes two mistakes in commit a8921605af342b9061e04e18fc952d386e5a071c. + Reported by Patrice Dumas in + . + * lib/git-merge-changelog.c (main): Fix off-by-one mistakes in crucial + places. + 2025-07-28 Paul Eggert float-h: change IBM long double to match GCC 15 diff --git a/lib/git-merge-changelog.c b/lib/git-merge-changelog.c index 190dafc140..cc496bb4cb 100644 --- a/lib/git-merge-changelog.c +++ b/lib/git-merge-changelog.c @@ -1242,10 +1242,9 @@ There is NO WARRANTY, to the extent permitted by law.\n\ { /* An addition to the top of modified_file. Apply it to the top of mainstream_file. */ - idx_t j; - for (j = edit->j2; j > edit->j1; ) + ptrdiff_t j; + for (j = edit->j2; j >= edit->j1; j--) { - j--; struct entry *added_entry = modified_file.entries[j]; gl_list_add_first (result_entries, added_entry); } @@ -1623,11 +1622,10 @@ There is NO WARRANTY, to the extent permitted by law.\n\ { gl_list_node_t node_for_insert = result_entries_pointers[k_first]; - idx_t j; + ptrdiff_t j; idx_t i; - for (j = edit->j2; j > edit->j1; ) + for (j = edit->j2; j >= edit->j1; j--) { - j--; struct entry *new_entry = modified_file.entries[j]; gl_list_add_before (result_entries, node_for_insert, new_entry); }