aboutsummaryrefslogtreecommitdiff
path: root/diffcore-rename.c
diff options
context:
space:
mode:
authorJiang Xin <worldhello.net@gmail.com>2021-08-14 07:56:22 +0800
committerJiang Xin <worldhello.net@gmail.com>2021-08-14 07:56:22 +0800
commit117e2caa42210de5c2c1ecfdf5d2bda056cd6f00 (patch)
treec742277e7f21ad2746a807e2c0318a0fae662f5f /diffcore-rename.c
parent18c9fced7bf3feb3b326c73e2901e2ad05824c29 (diff)
parent5d213e46bb7b880238ff5ea3914e940a50ae9369 (diff)
downloadgit-117e2caa42210de5c2c1ecfdf5d2bda056cd6f00.tar.xz
Merge branch 'master' of github.com:git/git
* 'master' of github.com:git/git: (51 commits) Git 2.33-rc2 object-file: use unsigned arithmetic with bit mask Revert 'diff-merges: let "-m" imply "-p"' object-store: avoid extra ';' from KHASH_INIT oidtree: avoid nested struct oidtree_node Git 2.33-rc1 test: fix for COLUMNS and bash 5 The eighth batch diff: --pickaxe-all typofix mingw: align symlinks-related rmdir() behavior with Linux t7508: avoid non POSIX BRE use fspathhash() everywhere t0001: fix broken not-quite getcwd(3) test in bed67874e2 Documentation: render special characters correctly reset: clear_unpack_trees_porcelain to plug leak builtin/rebase: fix options.strategy memory lifecycle builtin/merge: free found_ref when done builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv convert: release strbuf to avoid leak read-cache: call diff_setup_done to avoid leak ...
Diffstat (limited to 'diffcore-rename.c')
-rw-r--r--diffcore-rename.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/diffcore-rename.c b/diffcore-rename.c
index 2618bb07c1..c95857b51f 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -448,9 +448,9 @@ static void update_dir_rename_counts(struct dir_rename_info *info,
const char *oldname,
const char *newname)
{
- char *old_dir = xstrdup(oldname);
- char *new_dir = xstrdup(newname);
- char new_dir_first_char = new_dir[0];
+ char *old_dir;
+ char *new_dir;
+ const char new_dir_first_char = newname[0];
int first_time_in_loop = 1;
if (!info->setup)
@@ -475,6 +475,10 @@ static void update_dir_rename_counts(struct dir_rename_info *info,
*/
return;
+
+ old_dir = xstrdup(oldname);
+ new_dir = xstrdup(newname);
+
while (1) {
int drd_flag = NOT_RELEVANT;