mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-09 22:39:38 +00:00
Copy values to avoid strict aliasing warning
To make this code more resilient to future changes, we'll explicitly translate the libgit2 structure to the libxdiff structure.
This commit is contained in:
parent
2de60205df
commit
28b486b2e2
@ -308,6 +308,7 @@ int git_diff_foreach(
|
|||||||
git_vector_foreach(&diff->deltas, info.index, delta) {
|
git_vector_foreach(&diff->deltas, info.index, delta) {
|
||||||
git_blob *old_blob = NULL, *new_blob = NULL;
|
git_blob *old_blob = NULL, *new_blob = NULL;
|
||||||
git_map old_data, new_data;
|
git_map old_data, new_data;
|
||||||
|
mmfile_t old_xdiff_data, new_xdiff_data;
|
||||||
|
|
||||||
if (delta->status == GIT_DELTA_UNMODIFIED)
|
if (delta->status == GIT_DELTA_UNMODIFIED)
|
||||||
continue;
|
continue;
|
||||||
@ -409,8 +410,12 @@ int git_diff_foreach(
|
|||||||
assert(hunk_cb || line_cb);
|
assert(hunk_cb || line_cb);
|
||||||
|
|
||||||
info.delta = delta;
|
info.delta = delta;
|
||||||
|
old_xdiff_data.ptr = old_data.data;
|
||||||
|
old_xdiff_data.size = old_data.len;
|
||||||
|
new_xdiff_data.ptr = new_data.data;
|
||||||
|
new_xdiff_data.size = new_data.len;
|
||||||
|
|
||||||
xdl_diff((mmfile_t *)&old_data, (mmfile_t *)&new_data,
|
xdl_diff(&old_xdiff_data, &new_xdiff_data,
|
||||||
&xdiff_params, &xdiff_config, &xdiff_callback);
|
&xdiff_params, &xdiff_config, &xdiff_callback);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
Loading…
Reference in New Issue
Block a user